(navigation image)
Home American Libraries | Canadian Libraries | Universal Library | Community Texts | Project Gutenberg | Children's Library | Biodiversity Heritage Library | Additional Collections
Search: Advanced Search
Anonymous User (login or join us)
Upload
See other formats

Full text of "ibm :: 360 :: os :: R01-08 :: R20-4067-0 System 360 Operating System Workshop Education Guide 1967"

IBM 

System/360 

Operating System Workshop 

Education Guide 



Education Development - Poughkeepsie, New York 



Copies of this publication can be obtained through IBM Branch Offices. 

Address comments concerning the contents of this publication to : 

IBM DPD Education Development, Education Center, Poughkeepsie, New York 

©1966, International Business Machines Corporation 



o 
u 

•a 

a 



Section 1 



INTRODUCTION 

The System/360 Operating System Workshop is designed to be used for teaching systems 
programmers how to extend the facilities of the operating system by including several types of 
user routines. 

This education guide is written to be used by an instructor experienced in teaching operating 
systems coding. It is important that the students have an opportunity to do the class problems 
and run these problems on the System/360. 

This guide is organized into 9 topics. Each topic except Topic I is designed to be approximately 
one half of a customer student day. Topic I (Internal Logic Flow) is designed to be a full 
customer student day in length. 



1.1 



o 



u 
u 
en 

03 

n 

03 

in 

S3 

a 
u 



Section 2 



Course Description 



SYSTEM/ 360 OS WORKSHOP 

Course Code - H3660 63* (P-3684) 
Provided for - 



Objectives - 



Systems or lead programmers who need to know the re- 
quirements for extending the capabilities of the 360 
Operating System. 



Upon successful completion of each of the topics 
listed below the student will be able to: 



1. Internal Logic Flow of OS: 

a. Explain the general logic flow of the 
Operating System. 

b. Define and explain the internal logic of 
the major components and their subprograms 
in the system. 

c. Identify and define the prime system con- 
trol blocks. 

2. Execute Channel Program (EXCP Macro): 

a. Write programs utilizing the EXCP macro 
instruction. 

b. Provide the required control block informa- 
tion needed by the EXCP macro instruction. 

3. Debugging Concepts: 

a. Locate the trace table and trace a program's 
execution flow using this table. 

b. Effectively use dumps as a debugging aid. 

c. Read and analyze storage dumps. 

* Courses completing after 12/31/66. 



Copies of this publication can be obtained through IBM Branch Offices. 

Address comments concerning the contents of this publication to: 

IBM DPD Education Development, Education Center, Poughkeepsie, New York 



4. Supervisor Call Routines (SVC): 

a. Write an SVC routine. 

b. Include user SVC routines in the 
Operating System. 

5. Accounting Routines: 

a. Write accounting routines. 

b. Include user accounting routines in 
the Operating System. 

6. Non-Standard Labels: 

a. Write a routine to interpret a non- 
standard label. 

b. Include this routine in the Operating 
System. 

7. Error Routines: 

Explain how the Operating System invokes 
and uses error routines. 

8. Access Methods/XDAP: 

a. Explain some of the techniques of 
writing access methods. 

b. Define and apply XDAP. 

9. Device Support: 

Outline and define requirements (e.g. 
the contents of Unit Control Blocks) 
needed to support devices. 



Prerequisites - 

Students enrolled should have successfully completed 
the following courses: 

S/360 Assembler Language Coding K3600 65* (P-3631) 

S/360 OS Facilities F3600 63* (S-3682) 

S/360 OS Coding S3600 65* (P-3638) 

S/360 OS Generation 13660 63* (S-3683) 

Duration - Approximately five days. 
* Courses completing after 12/31/66. 



2.2 



Material Requirements - 
Student Materials - 



Title Form No. Abstract Ref 



Operating System/360: 

Assembler Language C28-6514 SRL-360 

Job Control Language C28-6539 SRL-360 

Operator's Guide C28-6540 SRL-360 

Control Program Services C28-6541 SRL-360 

Systems Programmer's Guide C28-6550 SRL-360 

User Libraries C20-1663 SRL-360 

Utility Programs C28-6586 SRL-360 

Control Program Messages § Completion Codes C28-6608 SRL-360 

Sequential Access Methods Y28-6604 PLM-360 

Introduction to Control Program Logic Y28-6605 PLM-360 

Direct Access Device Space Management Y28-6607 PLM-360 

Input/Output Support (OPEN/CLOSE/EOV) Y28-6609 PLM-360 

Fixed-Task Supervisor Y28-6612 PLM-360 

Job Management Y28-6613 PLM-360 

Input/Output Supervisor Y28-6616 PLM-360 

Basic Direct Access Method Y28-6617 PLM-360 

Catalog Management Y28-6606 PLM-360 

Instructor Materials (In addition to the above) 

Linkage Editor Y28-6610 PLM-360 

TESTRAN Y28-6611 PLM-360 

Utilities Y28-6614 PLM-360 

Abstracts - 

R20-4067 Education Guide 

8 1/2" X 11" looseleaf instructor outline, with 
teaching notes, to be used by a qualified 360 
instructor. Included in the guide are: references 
to supporting information, practice problems and 
solutions for both classroom and machine exercises, 
and paper master copies of overhead projector foils 
used in the class presentations. 



2.3 



03 

c 

■** 

o 

0) 

tn 

a 
u 

13 

0) 

C 

09 
CD 



Section 3 



GENERAL COURSE OUTLINE 



I. Internal Logic Flow 

A. Publications, Handouts, Macro Fische Descriptions. 

B. Overview of the Operating System 

C. Explain Three Control Charts 

D. Philosophy of Operating Systems 

1. Why do we have Operating Systems? 

2. Job Management, Test Management, and 

Data Management Relationship to Operating Systes 

3. Phases of Control 

E. Control Blocks 

F. Generating a System 

G. Internal Logic Flow of S/360 Operating System 
H. Review § Summary 

1. System Description 

a. Sizes of System Data Sets 

b. Proximity of Data Sets 

c. Catalog Structure 

d. Library Structure 

2. Initialization and Execution 

a. IPL Procedure 

b. Job Scheduler 

c. Problem Program 

d. Job Step Termination 

II. Execute Channel Program 

A. Role of EXCP in Operating System/360 
1. What Is EXCP? 



3.1 



General Course Outline (Cont'd.) 

2. Who Uses EXCP? 

a. Standard Access Methods 

b. Problem Programmer's Use of EXCP 

3. Considerations In Using EXCP § Incorporating User 
Routines Into IOS 

B. Introduction to IOS § The Use of EXCP 

1. Control Program Logic - Tables Constructed 
At Systems Generation Time 

a. Unit Control Blocks 

b. Request Element Tables 

c. Logical Channel Word Table 

2. Control Program Flow - Problem Program 
Initiation 

a. Reader/Interpreter 

b. Initiator 

c. TIOT 

d. Initiator Transfers to Problem Program 

e. Organization of Main Storage 

3. Control Program Flow - OPEN 

4. Problem Program Use of EXCP - General Approach 

a. User Must Construct Control Blocks and 
Channel Program 

b. Data Control Block for EXCP 

c. OPEN Macro 
d. . Coding EXCP 

e. Input/Output Block 

f. WAITing 

g. CLOSE 

h. Sample EXCP Program 



3.2 



General Course Outline (Cont'd.) 

5. Control Program Logic - I/O Supervisor 

a. General Logic Flow 

b. Detail Analysis of EXCP Supervisor 

6. User Programming Responsibilities 

a. Construction of Channel Commands 

b. Error Testing Following Execution of 
WAIT macro 

c. End of Data Checking 

d. Preparation for Issuing EOV or CLOSE for 
a tape 

C. Student Problem 

D. Controlling DASD by EXCP 

1. Ease of Control by User 

2. IOS Handling of Disk I/O Requests 

3. Programming For Disk 

III. Debugging Concepts 

A. Introduction 

B. Requirements for Obtaining an ABDUMP 

C. Device Allocation 

D. Contents Supervision 

E. SAVE Area Trace 

F. Control of Program Interrupts 

G. Trace Table 

H. Locate and Identify Control Blocks Associated 
With DCB's. 

I. Comparison of ABDUMP with Indicative Dump 



3.3 



General Course Outline (Cont'd.) 
IV. SVC Routines 

A. Introduction 

B. Fundamental Concepts § Terminology 

1. Writing the SVC 

2. IBM Reserved SVC Code Numbers 

3. User Reserved SVC Code Numbers 

4. The Prefix Table 

5. The SVC Table 

6. Residence for SVC Routines 

7. Types of SVC Routines 

8. Review and/or Redefinition of Serially-Reusable 
and Re-Entrant 

9. Naming Conventions for SVC Routines 

10. Routines to Support SVC and SYS1.SVCLIB 

C. Why Have SVC Routines? 

D. How the SVC System Functions 

E. Writing the SVC Routine 

1. Type 1 

2. Type 2 

3. Type 3 

4. Type 4 

F. Representative Problems and Examples 

G. SVC Writing Checklist 

H. Placing an SVC Routine in SVC Library 

1. Directly 

2. Copying and Inserting a Tested Module From 
Another Data Set 

3. SVCLIB Macro Instruction 
I. Considerations 

J. Practice Problem 

3.4 



General Course Outline (Cont'd.) 
V. Accounting Routines 

A. Introduction 

B. How to Write an Accounting Routine 

1. Entry Linkage 

2. Parameters Passed to the Accounting Routine 

3. Output From the Accounting Routine 

4. Exit Linkage 

5. Programming Considerations 

C. How to Incorporate Into the System 

D. Student Problem 
VI. Non-Standard Labels 

A. Definition of Non-Standard Label Processing Routines 

1. Existence of Non-Standard Labels 

2. Non-Standard Labels Characteristic 

3. Review When NSL Routines Are Needed 

B. OPEN Routines 

1. General 

2. Functions Accomplished 

3. OPEN Macro 

C. General Discussion of OPEN 

1. Passage of Control to the Non-Standard Label 
Routines 

2. Return From the NSL Routine 

D. Detail Discussion of Non-Standard Header Label Processing 
During OPEN 

1. Information Supplied to NSLOHDRI by OPEN 

a. DCB Addresses 

b. Control Blocks Usable by EXCP in NSL Routines 



3.5 



General Course Outline (Cont'd.) 

2. NSLOHDRI 

a. Entry into NSLOHDRI From OPEN 

b. NSLOHDRI Considerations 

c. General Logic Flow of NSL Processing Routine 

3. Example 

4. Inserting NSLOHDRI Into the Control Program 

5. Testing Non-Standard Label Processing Routine 

6. EXCP Level of Code 

E. Discussion of NSL Routines During CLOSE and EOV 

1. Review NSL Module Names 

2. Tape Mark Consideration 

3. EOV Termination - Register Content 

4. Multi-Volume Data Sets 

F. Generalized Handling of Non-Standard Labels: The Data 
Conversion Utility II Package 

1. General Description 

2. Data Conversion Non-Standard Label Modules (DCNSL) 

3. Comments on the Techniques of DCNSL 

G. Concluding Remarks 

1. Material References 

2. Student Problem 
VII. Error Routines 

A. Error Occurrences in OS/360 

1. Error Occurrence at an I/O Device 

2. Catastrophic Errors in the Channel or CPU 



3.6 



General Course Outline (Cont'd.) 



B. General Logic of Error Handling Within IOS 

1. General Summary 

2. Tape Read Error Logic Flow 

a. User Flag Bits 

b. Error Routine Scheduling 

c. Error Routine Execution 

3. Summary 

C. Appendages to IOS 

1. Definition 

2. Appendage Routines - SYS1.SVCLIB 

3. Using Appendages 

4. Types of Appendages 

5. Coding for Appenddages 

a. DCB In User Program 

b. Appendage Routine 

c. Student Problem 

VIII. Access Methods 

A. Introduction 

B. Basic Rules For Use With Operating System/360 

1. The Data Management Routines 

2. Data Management Routines Should Not Be 
Modified 

3. Data Management Routines Can Be Combined 
or Expanded 



3.7 



General Course Outline (Cont'd.) 

C. Execute Direct Access Program (XDAP) 

1. General Information 

a. Need for XDAP 

b. Description 

c. XDAP Limitations 

2. Requirements for Execution 

3. Programming Specifications 

a. DCB 

b. OPEN 

c . XDAP 

4. XDAP Options 

IX. Device Support 

A. Introduction 

B. Operating System Requirements 

1. The Operating System 

a. Allocation 

b. Access of the Device 

2. Control Blocks 



a. 


UCB 


b. 


DEB 


c . 


DCB 


d. 


IOB 


e . 


ECB 



3.8 



General Course Outline (Cont'd.) 



C. Supporting the Device 

1. Defining the Unit Control Block 

a. System Generation 

b. Supported UCB Types 

c. Device Types 

2. Naming the Device 

a. The Device Name 

b. The Device Table 

c. The Device Mask Table 

d. Effect of Changing Device Type Code 



3.9 



03 

o 

03 

tn 

a 
•a 

03 

rt 

03 



Section 4 



INTERNAL LOGIC FLOW 
Suggested Sequence: 

A. Explain publications, handouts, macro fische and PLM 
references to be used during the course. (These are 
listed in the Course Description.) 

B. Overview of the Operating System 

1. Go through large 360 Wall Chart (V25-6155). 

a. Define 3 systems and major differences. 

b. Define major parts. 

c. Tell the basic function of each part. 

C. Explain the three control charts. 

1. Go through the routines and their functions. 

2. Comment on the access methods and how they fit 
into this structure. 

3. Comment on the Linkage Editor and how it fits 
into this structure. 

INSTRUCTORS 1 NOTE: 



Topic I 
Reference 



There are various descriptions of the detail of the com- 
ponents of the system in the PLM's. It is recommended 
that at least the introduction section of each of the 
following PLM's be read before teaching this topic: 

Y28-6605, Y28-6613, Y28-6612, Y28-6616, Y28-6606, 
Y28-6609, Y28-6607, Y28-6604, Y28-6617 



D. Philosophy of Operating Systems 



INSTRUCTORS* NOTE: 

Briefly go through the philosophy of "why an operating 
system" and what it provides. 

1. Why do we have operating systems? 

a. To do more work for the programmer and 
operator. 

b. To provide management information. 

c. To utilize resources. 

2. a, b, and c above are accomplished within the 
3 managements we described. 



OPF 1-1, 
1-2, 1-3 



Appendix I 



4.1.1 



Suggested Sequence: 

3. What then are the phases of this control? 
The phases are: 

a. Introducing a job to the system 

b. Initiating the job 

c. Initiating a task 

d. Executing the task 

1) Opening the DCB 

2) Performing I/O operations 

3) Closing DCB 

e. Terminating a task 

f. Terminating a job step 

g. Terminating a job 

E. Control Blocks (Board Display) 



Topic I (Cont'd.) 
Reference 



Appendix II 



INSTRUCTORS 1 NOTE: 

Cardboard squares (8 1/2 X 11) can be used to make each 
control block illustrated in Appendix II. A very effec- 
tive way of presenting an introduction to control blocks 
is to use a magnetic display of these cardboard squares. 
Step-by-step and block-by-block, tell from what source 
these control blocks are built; also their functions, 
and how they relate to Job, Task, and Data Management. 

1. Go through the control block buildup using the 
8 1/2" X 11" blocks with their names only. 

2. Hand out large chart of control blocks and 
explain the logic. 



F. Generating a System - What Happens? 

1. Flow through System Generation 

2. Define libraries on board. 

3. Construction of SYSRES and its VTOC s/DSCB»s 

4. System Data Sets 

5. Organization of core storage 



OPF 1-4 
Appendix III 

OPF 1-5 
OPF 1-6 
OPF 1-7 



4.1.2 



Topic I (Cont'd.) 
Suggested Sequence: Reference 

G. The Internal Logic Flow of the 360 Operating System 



INSTRUCTORS' NOTE: 

This interpretation of the logic flow of the System/360 
Operating System is intended as a learning tool for a 
better understanding of the mechanics of the system. It 
defines the steps through which a processing program may 
pass from the time it is introduced to the system until 
it terminates. In this description, emphasis is placed 
on one job's flow through the system, asynchrous and 
simultaneous processing are assumed. 

The routines of the Operating System that maintain control 
are 'indicated in the control column of each sheet. The 
three functional control charts may be used as a reference 
for the function of the routines in control. The control 
block chart is referred to during the explanation of the 
logic flow. This chart is provided to give the function 
of the control blocks that are referenced and to show how 
the information flow and linkage takes place. From time 
to time it may be necessary to reference the actual format 
of some of the control blocks. Most of these formats can 
be found in PLM Y28-6605. 



Appendix I 
Appendix II 



4.1.3 



TOPIC I 



CONTROL 



SYSTEMS INITIALIZATION 



Operator 

Computer 
IPL Progr. 
I PL Progr. 

IPL Progr. 
IPL Progr. 
IPL Progr. 
NIP 
NIP 



NIP 



NIP 



NIP 



NIP 



1. Operator loads nucleus into storage by dialing the 
system resident device and pressing the LOAD 
button. 

2. An Initial Program Load record is brought in from 
SYSRES and given control. 

3. This IPL record reads another IPL record that 
brings in the remaining portion of the IPL program, 

4. The IPL program takes control, clears main storage 
and searches the volume label to locate the VTOC 
of the system resident volume. 

5. When the VTOC is found, it is searched for the 
SYS1. NUCLEUS data set. 

6. When the nucleus is located, it is brought into 
the fixed area of storage. 

7. From SYS1. NUCLEUS, the Nucleus Initialization 
Program (NIP) is brought into the dynamic area. 

8. NIP takes CPU control and initializes the nucleus 
and the system data sets. 

9. NIP initializes the Communication Vector Table 
(Ref: Control Block Chart - Block 16). The CVT 

will provide a means by which nonresident routines 
may reference routines in the nucleus. It con- 
tains pointers to all of the key routines in the 
nucleus and the location of system data sets. 

10. NIP then initializes the UCB table (Ref: Control 
Block Chart - Block 2 3) . 

11. Locates the SVCLIB, LINKLIB, and LOGREC and opens 
these data sets. 

12. Builds a resident SVC table. 

NOTE: This is why a re-IPL is necessary when 
SVCLIB is moved. 

13. After completing initialization, NIP replaces it- 
self with the Reader/Interpreter and Master 
Scheduler. This is accomplished by NIP locating 
both these routines on the LINKLIB and loading 
them into storage. 



(Cont'd.) 
Reference 



OPF 1-6 



Appendix 
II 



Appendix 
II 



4.1.4 



TOPIC I (Cont'd.) 
Reference 



SCHEDULING THE JOB 



CONTROL* 



IA3 
IIIA2 



IA1 
IA3 
IB1 
IB1 



INTRODUCING JOB TO SYSTEM 



3. 
4. 
5. 



IB1 



IB2 



6. 



IB3 



IB4 



IB1 

IB1 
IA4 



NOTE 



When the operator receives messages instructing him 
to enter commands, he issues START RDR (Start 
Reader) , START WTR (Start Writer) and SET (Set 
Date) commands causing an attention interrupt to 
occur. 

This interruption causes CPU control to be given to 
the Master Scheduler's Master Command EXCP Routine. 

Control is passed to the Master Command Routine to 
process these commands. 

The Reader/Interpreter takes control and begins to 
read the input job stream. 

As statements are read, either from the input 
device or procedure library, they are identified 
and if they are control statements the length and 
the starting address of the name, operation, and 
operand are determined. 

This information is then passed to the respective 
routines, either JOB, EXEC, or DD Routine for 
processing. 

a. When a JOB card is encountered, control is 
passed to the Job Routine which allocates 
table space and uses the statement contents to 
form the JCT (Ref: Control Block Chart - Block 
1) and the ACT (Ref: Control Block Chart - 
Block 3) in the job queue. 

b. When an EXEC card is encountered, control is 
passed to the EXEC Routine which allocates 
table space and uses the statement to form 
the SCT (Ref: Control Block Chart - Block 2) 
in the job queue. 

c. When a DD card is encountered, control is 
passed to the DD Routine which allocates table 
space and uses the DD statement contents to 
form the JFCB (Ref: Control Block Chart - 
Block 8) and the SIOT (Ref: Control Block 
Chart - Block 4) in the job queue. 

Linking pointers are established between the JCT, 
SCT, JFCB, SIOT, and ACT. 

In cases where errors occur in matching and check- 
ing the contents of the control statements in steps 
6 a,b, and c the appropriate error messages are 
written and associated job steps are not executed. 

Refer to control charts at the back of this paper for 
routine names and functions. Example : the key IAZ 
stands for - Job Management (I); Master Scheduler (A); 
Master Command Routine (Z). 



7. 



8. 



OPF 1-8 



Appendix 
II 



Appendix 
II 



Appendix 
II 

4 



4.1.5 



TOPIC I (Cont'd.) 



Reference 



SCHEDULING THE JOB 



CONTROL 



JOB INITIATION 



IC1 



IC1 



IC2 



IC2 
IC13 



IC3 



IC3 



IIID1 



IC3 



IC4 



IC4 
IC4 



1. The System Control Routine of the Initiator/Term- 
inator receives control and performs housekeeping 
functions such as recording the step number. 

2. If the job step is the first step of this job, its 
name is placed in the selected job queue. 

3. The Execute Statement Condition Code Routine takes 
control and processes any step condition codes that 

* are specified in the EXEC statement. 

a. If condition codes are specified, they are 
compared with the corresponding return code 
and where they agree, the job is cancelled, 
Control goes to the Step Termination Routine. 

b. If this job step is the first step or no con- 
dition codes are specified, control is turned 
over to the JFCB Housekeeping Routines. 

4 . The JFCB Housekeeping Routines take control and 
complete those portions of the JFCB's and SIOT's 
that describe the volumes to be used during step 
execution. 

a. The volume serial numbers are obtained from 

either the DD statement information, the pass 
data set information or the catalog. 

5. If a catalog search is required, the Catalog 
Routine is given control and locates the data set 
by looking through the index levels of the catalog. 
This information is then saved in a work area. 

6. When data sets are passed, information is recorded 
to keep track of these data sets so they may be 
used later. 

7. The Allocation Control Routine takes control and 
begins by calculating the storage requirements for 
the following tables: DD Number Table, Allocate 
Control Block, Channel Load Table, Allocate Work 
Table, Potential User On Device Table, Separation 
Strikeout Pattern, Volume Table and Device Mask 
Table. These implicit tables are constructed for 
later use by the allocation routines. 

8. The Allocation Control Routine then reads all the 
SIOT's into the storage assigned to them. 

9. The number of volumes each data set requires is 
gotten from the SIOT's and recorded. 



OPF 1-9 

and 
OPF 1-10 



4.1.6 



TOPIC I (Cont'd.) 



Reference 



SCHEDULING THE JOB 



CONTROL 



JOB INITIATION 



IC4 



IC5 



IC5 



IC5 



IC5 



IC5 



IC5 



IC5 
IC11 



IC5 

IC5 
IC6 

IC6 



IC7 



IC8 
IIC1 



10. The storage for the TIOT is determined and re- 
served. 

11. The Demand Allocation Routine takes control and 
first records information that describes data sets 
and device allocation. 

12. The volume affinity is resolved at this point for 
volumes requested by more than one data set. 

13. The number of devices required by each data set is 
now determined. 

14. Information concerning the number of data sets 
allocated on each channel is gathered to optimize 
channel usage. This information is obtained from 
the UCB (Ref: Control Block Chart - Block 22). 

15. Allocation is made of all requested resident 
devices. 

16. Due to the fact that some of the devices specified 
that could be used may be ineligible, a check is 
made to assure the available device range. 

17. Control is passed to the Allocation Error Routine 
if during the device range check the eligible de- 
vice count becomes less than the number of devices 
required. In this case a message is written to 
the operator to this effect. 

18. Specific device allocation is performed next. 

19. A check is made to see if all allocation require- 
ments have been met. If they have, go to step 22. 

20. If they have not, control is passed to the Auto- 
matic Volume Recognition Routine (if included in 
the system) . Volumes are allocated by this routine 
by checking all available mounted volumes. 

21. If allocation request still remains, control is 
passed to the Decision Allocation Routine that com- 
pletes the allocation process by assigning these 
requests. 

22. The TIOT Construction Routine takes control and 
main storage space is calculated and requested for 
the TIOT. 



Appendix 
II 



4.1.7 



TOPIC I (Cont'd.) 



Referenc 



SCHEDULING THE JOB 


CONTROL 


JOB INITIATION 


IC8 


23. 


The TIOT is constructed primarily of information 
from the JCT, SCT and SIOT plus calculated informa- 
tion (Ref: Control Block Chart - Block 5). Linking 
pointers are established between the TIOT, UCB and 
JFCB. 


IC9 


24. 


Control is received by the External Action Routine 
that checks all devices allocated to each data set 
and any required dismounting is called to the 
attention of the operator by messages. 


IC9 


25. 


The operator then receives messages telling him the 
volumes to be mounted. 


IC9 


26. 


A check is made to varify correct mounting. 


ICIO 


27. 


Control is turned over to the Space Request Routine 
that scans the DD entries in the TIOT for D/A 
device users. 


ICIO 
IIICl 


28. 


When a data set is found that requires D/A device 
space, a request is made to the DADSM Routine to 
allocate the space. In cases where the space can 
not be allocated the first time, requests are made 
until all possible ones are exausted. 


ICIO 
IC9 


29. 


When no allocation can be made on currently mounted 
volumes but mounting another volume will enable 
allocation to be made, control goes to the External 
Action Routine for mounting verification. 


ICIO 
ICll 


30. 


When no allocation can be made control is given to 
the Allocation Error Routine that cancels the job 
step. 


IC12 


31. 


The Step Initiation Routine receives control when 
all allocation requests have been satisfied. 


IC12 


32. 


Into each TIOT indicating a SYSOUT disposition is 
placed the address of the UCB for the device con- 
taining the system output data set. 


IC12 


33. 


The Logical Channel Table and the Job Control Table 
are written onto auxiliary storage and their 
storage space is made available for processing. 


IC12 
ICIO 
IICl 


34. 


Storage space for the processing program is 
obtained. 


IC12 


35. 


DCB's for job library data sets and Fetch where 
required are created and opened. 



Appendix 
II 



4.1.8 



CONTROL 



IC12 
IIC2 

IC12 

IC12 
IIC2 



IC12 



IC12 



TOPIC I (Cont'd. 
Referenc 



SCHEDULING THE JOB 



JOB INITIATION 



36. A copy of the TIOT is placed into the work area of 
processing program and on auxiliary storage. 

37. The SCT is also written onto auxiliary storage. 

38. Storage space occupied by both the SCT and TIOT is 
released and this space is made available for 
processing. 

39. A cancel ECB is set up for the processing program. 
This will cause an ABEND or ABTERM to occur if a 
CANCEL command is issued. 

40. In the case of the Sequential Scheduling System, if 
the operator does not issue a CANCEL command, the 
Step Initiation Routine uses an XCTL to pass con- 
trol to the processing program. 



4.1.9 



TOPIC I (Cont'd.) 
Reference 



SCHEDULING THE JOB 



CONTROL 



ATTACHING A JOB STEP AS A TASK 
(Applies to the multi-task systems) 



IIB1 



IIB1 



IIA2 
(sss) 
or 
IID1,2,3 



IIB1 



IIB1 



IIA5 



IIB1 
IID7 



IIA5 



♦NOTE 



A TCB is constructed from information in the JCT, 
SCT and the ATTACH Macro operand field (Ref : 
Control Block Chart - Blocks 1,2, and 11).* 

2. An ECB (Ref: Control Block Chart - Block 12) is 
constructed for each TCB where it is requested. 

3. The required Request Blocks (Ref: Control Block 
Chart - Block 10) are constructed: Supervisor 
Request Block (SVRB) , Program Request Block (PRB) , 
Interruption Request Block (IRB) , Loaded Program 
Request Block (LPRB) , and Supervisor Interruption 
Request Block (SIRB) , and/or Loaded Request Block.* 

4. Linking pointers are established between the TCB, 
ECB, TIOT, and RB's. 

5. The associated TCB is added to the chain of TCB's 
in the system according to priority. The TCB at 
the front of the chain has the highest priority. 

If the tasks are queued, the task to be ATTACHed 
is put in a "ready" state. 

NOTE: A task may be in three states: ready, wait 
or active. 

7. The ATTACH Routine takes control and determines if 
the required module is in storage. If it is not, 
control is given to the FINCH Routine that brings 
it into storage. 

8. The Dispatcher Routine gives control to this task. 
If a task switch occurs, the "old task's" registers 
are saved in the TCB and linkages for the "new 
tasks" are constructed. The "new task" is now in 
the "active state". 



In the Sequential and Fixed Tasked systems the TCB's 
and the initial RB's are constructed at System 
Generation time. 



Appendix 
II 
6 

Appendix 
II 

7 



OPF 1-11 

and 
OPF 1-12 



OPF 1-13 

and 
OPF 1-14 



4.1.10 



TOPIC I (Cont'd.) 



PROCESSING PROGRAM 


CONTROL 


OPENING THE DCB 


IIA6 
IIIBl 


1. The Open Routine receives control from an inter- 
ruption handler when the OPEN Macro is issued and 
checks the status of each DCB to be opened to de- 
termine size and "busy" indications. 


IIIBl 
IICl 


2. The Open Routine then obtains main storage via the 
GETMAIN macro instruction for each DCB to be 
opened. 


IIIBl 
IICl 


3. All required work space is obtained for processing 
the DCB's, JFCB's, labels and building implicit 
tables. 


IIIBl 


4. The Open Routine now constructs a DCB, DEB, ECB, 

IOB and a channel program that will be required to 
read the JFCB's from the job queue to the work 
area. The EXCP macro is then used to read the JFCB 
into storage. 


IIIBl 


5. The TIOT's are located via the TCB. The addresses 
of the JFCB's are obtained from the TIOT so that 
the JFCB's can be located and brought into storage. 
(Ref: Control Block Chart - Blocks 5 and 8) 


IIIBl 


6. The Open Routine next verifies volume mounting by 
checking for all required volume serial numbers in 
the JFCB's and the UCB's of all the devices al- 
located to the data sets. 


IIIBl 


7. If the volume serial number is found in the UCB, 
(Ref: Control Block Chart - Block 22) , the volume 
is already mounted and no mounting instruction to 
the operator is required. 


IIIBl 


8. When no volume serial number is required, a message 
is written to the operator to mount a scratch 
volume. 


IIIBl 


9 . When the Open Routine finds that a volume is mount- 
ed, the volume label is read and verified. A mes- 
sage is issued if the wrong volume is mounted and 
a recheck is made when another volume is mounted. 


IIIBl 


10. When tape is checked, a file sequence number is in- 
serted in the UCB from the JFCB along with the 
volume number. Unlabeled tape is checked to assure 
no labels and for standard labeled tape the input 
header label is verified. 


IIIBl 
User 


11. When non-standard input labels are used, the Open 
Routine verifies that no standard volume label is 
on the tape and transfers control to the user's 
non-standard label routine. 



Reference 



Appendix 
II 



Appendix 
II 



4.1.11 



TOPIC I (Cont'd.) 
Reference 



PROCESSING PROGRAM 


CONTROL 


OPENING THE DCB 


IIIB1 


12. 


When all required volumes have been mounted and 
verified , tapes are positioned using the sequence 
number that designates the logical and physical 
portions of data sets. 


IIIB1 


13. 


In the case of input standard labels the DSL or 
DSCB is read and used to fill in some of the fields 
in the JFCB. For output the Open Routine con- 
structs and writes the header labels. (Ref: Control 
Block Chart - Blocks 7 and 8) . 


IIIB1 


14. 


The Open Routine now completes the JFCB and the 
DCB. This is accomplished for input data sets by 
filling in all zeroed JFCB fields with correspond- 
ing DSCB or DSL fields containing information. 
Then all zeroed DCB fields are filled from cor- 
responding JFCB fields containing information. A 






mask of the DCB merged fields is kept to enable 
re-initialization of the DCB (Ref: Control Block 
Chart - Blocks 8 and 14) . 


IIIB1 


15. 


If there is a user DCB modification routine, it 


User 




receives control at this time and when it completes 
its work turns control back over to the Open 
Routine. 


IIIB1 


16. 


Next all zero fields in the JFCB are filled with 
the corresponding DCB fields containing information 
(Ref: Control Block Chart - Blocks 8 and 14) . 


IIIB1 


17. 


The Open Routine constructs the DEB from informa- 
tion in the JFCB and DCB. Included in the DEB is 
also the DCB merge mask. (Ref: Control Block Chart 
Blocks 8,14, and 15) 


IIIB1 


18. 


A linking pointer is put into the TCB to the first 
DEB and a pointer is put into the DEB being con- 
structed to the previous DEB for this TCB. (Ref: 
Control Block Chart - Blocks 11 and 15) . 


IIIB1 


19. 


The type of access method is determined from the 
DCB and the proper access method execuuor is given 
control . 


Access 


20. 


The selected access method executor determines the 


Method 




version access method required and brings it into 


Executor 




storage if it is not already there. 


Access 


21. 


The required appendages are selected using the AVT 


Method 




(Ref: Control Block Chart - Block 13) and brought 


Executor 




into storage. 



Appendix 
II 
8 



Appendix 
II 



OPF 1-15 



Appendix 
II 
10 



Appendix 
II 
11 



4.1.12 



TOPIC I (Cont'd.) 
Reference 



PROCESSING PROGRAM 



CONTROL 



OPENING THE DCB 



IIIB1 22. The Open Routine takes control again and for all 

QSAM accessing, primes the buffers. 

IIIB1 23. The DCB's are flagged "not busy" and "opened". 

Control is returned to the processing program. 



OPF 1-16 



4.1.13 



TOPIC I (Cont'd.) 
Reference 



PROCESSING PROGRAM 


CONTROL 


PERFORMING INPUT/OUTPUT OPERATIONS 


Access 


1. The user has selected accessing methods according 


Method 


to his requirements and indicated these in the DCB 




Macro that in turn became part of the DCB. (Ref : 




Control Block chart - Block 14). When an I/O re- 




quest is made in the processing program, the re- 




quest combinations may be: 




I/O LANGUAGE ACCESS METHOD 




GET/PUT QSAM, QISAM, QTAM 




READ/WRITE BSAM, BDAM, BISAM, BPAM, BTAM 




EXCP 


IIC1 


2. Space is obtained to build I/O control blocks and 




channel program. 


Access 


3. The access method constructs the IOB, DECB, and 


Method 


channel program required for this I/O request. 




(Ref: Control Block Chart - Blocks 17 and 18). 




When the EXCP Macro is used the user must write 




the IOB, ECB, and channel program. 




NOTE: The DECB serves effectively the same function 




for an I/O request as the ECB serves for task 




status. 


Access 


4. When all information needed by the I/O Supervisor 


Method 


has been calculated, the address of the IOB is 




passed to the I/O Supervisor. 


IIIA1 


5. The I/O Supervisor takes control and verifies the 




presence and validity of the required control 




blocks. 


IIIA1 


6. A check is made in the UCB (Ref: Control Block 




Chart - Block 2 2) to see if the device for this 




I/O request is available. 


IIIA1 


7. The required channel is tested for its availibili- 




ty. 


IIIA1 


8. A SIO is issued to start the request and the result 




is verified as acceptable. If an error occured an 




error routine is given control. 




NOTE: SIO enqueue, and trapcode modules for a par- 




ticular device are located via the Device 




Table (Ref: Control Block Chart - Block 9). 



Appendix 
II 



OPF 1-17 
1-18 
1-19 



Appendix 
II 

12 



Appendix 
II 



Appendix 
II 



4.1.14 



TOPIC I (Cont'd.) 
Reference 



PROCESSING PROGRAM 



CONTROL 



PERFORMING INPUT/OUTPUT OPERATIONS 



IIIA1 



IIA4 
IIIA1 



IIIA1 
IIIA2 



IIIA2 



IIA4 



9. If* the UCB indicates that the associated control 

unit is busy the request is queued (go to step 10) , 
otherwise the request is entered into the RET 
(Ref : Control Block Chart - Block 21) , and is 
flagged as "active". This is done by the I/O 
Supervisor placing the address of the request 
element in the UCB that represents the device being 
used for the I/O request. 

NOTE: A request element may be active - started but 
not completed; available - not in current use; 
queued - requests ready to be started. 

10. Control is returned to the Exit Routine. 

11. Request elements that are not started immediately 
are queued into the RET and the requests associat- 
ed with each logical channel are chained together. 
The beginning and end of this chain is kept in the 
LCHTAB (Ref: Control Block Chart - Block 20) 

12. Pending I/O requests are honored when an I/O inter- 
ruption occurs during which time the I/O Supervisor 
gains control and determines from the UCB which I/O 
request terminated. A message is written to the 
user telling how the request completed. 

13. When all pending interruptions on the associated 
channel have been processed, the next I/O request 
for this channel is found and a SIO is issued. 

14. Control returns to the Exit Routine. 

15. Brief summary of key points. 



Appendix 
II 



Appendix 
II 

13 



OPF 1-20 
1-21 
1-22 
1-23 



4.1.15 



TOPIC I (Cont'd.) 
Reference 



PROCESSING PROGRAM 


CONTROL 


CLOSING THE DCB 


IIIB3 


1. 


The Close Routine receives control from an inter- 
ruption handler when the CLOSE Macro is issued 
in the processing program. 


IIIB3 
IICl 


2. 


Work space is obtained using the GETMAIN Macro. 


IIIB3 


3. 


The TIOT's are located via the TCB's and the 
JFCB's addresses gotten from the TIOT's. 


IIIB3 


4. 


The DCB's that are to be closed are flagged "busy" 
and checked; they must currently be flagged 
opened. 


IIIB3 


5. 


A task-data set relationship is established for 
family data sets. 


IIIB3. 


6. 


The Close Routine purges all pending input/output 
requests on data sets to be closed. 


IIIB3 


7. 


All trailer label construction and label updates 
are performed. 


IIIB3 


8. 


Parameters in the CLOSE Macro are used to perform 
all required volume disposition. 


IIIB3 


9. 


Access dependent routines are released. 


IIIB3 


10. 


Using the DCB mask from the DEB the DCB is re- 
stored to its original form. 


IIIB3 
IIC2 


11. 


Main storage used for subroutines, appendages, the 
DEB, and the work area is released. 


IIIB3 


12. 


The DEB is removed from the DEB chain and the re- 
maining DEB's are rechained. 


IIIB3 
IIIBl 
IIA4 


13. 


The data set is checked to see if it is concatenat- 
ed in which case control is given to the Open 
Routine otherwise it is returned to the Exit 
Routine . 




14. 


Brief summary. 



OPF 1-24 



4.1.16 



TOPIC I (Cont'd.) 
Reference 



JOB TERMINATION PROCEDURES 



CONTROL 



IC13 



IC13 
IIC2 

IC13 



IC13 
IIC2 

IC13 



Processing 
Program 



Processing 
Program 

IIA4 

Processing 
Program 
IC1 
IC13 



TERMINATION OF A TASK 



1. If an ECB is specified a completion flag is posted 
in it. 

2. The TCB (except when ECB or ETXR are specified) RB, 
and ECB associated with this task are removed. 

3. If ETXR parameter is specified, an entry is set up 
to the controlling task's EOT asynchronous exit 
routine. 

4. All associated available main storage is released. 



5. All routines loaded by this task and not used by 
others are released. 

6. Control is returned to next highest level task 
if this task is not the highest level task. 
The terminating task places a return 

code in its TCB. 

7. The controlling task issues a DETACH, terminating 
the task. 

8. Control is given to the Exit Routine. 

9. If this is the highest level task control goes to 
the Initiator/Terminator which issues the DETACH 
terminating the task. 



4.1.17 



TOPIC I (Cont'd.) 
Reference 



JOB TERMINATION PROCEDURES 


CONTROL 


JOB STEP TERMINATION 


IC13 


1. 


The Step Termination Routine receives control when 


IIC1 




a job step has terminated (normally or abnormally) 
and proceeds by reading into main storage the TIOT 
and LCT. 


IC13 


2. 


The cancel ECB in the selected job queue is set to 
zero. 


IC13 


3. 


The JCT and SCT are read into storage and the step 


IIC1 




status code is inserted in the SCT. 


IC13 


4. 


Each SIOT for each data set is then read into 


IIC1 




storage. 


IC13 


5. 


Data set disposition is performed on all associat- 
ed data sets and a message indicating data set 
name, disposition, and serial number is written to 
the operator. 


IC13 


6. 


Devices that are now available for use are unal- 
located and those volumes that can be dismounted 
are dismounted. Messages are written to the oper- 
ator giving volume status. 


IC13 


7. 


The SCT is updated with return code information. 


IC13 


8. 


If there are job statement condition codes, they 
are processed at this time. 


IC13 


9. 


Any main storage associated with this job step is 


IIC2 




released. 


IC13 


10. 


All loaded routines associated with this job step 
(except reenterable routines from the LINKLIB) are 
released. 


IIIB3 


11. 


Control is given to the Close Routine to close 
associated DCB's. 


IC13 


12. 


The Job Step Termination Routine issues a DETACH 
for the last task of the job step and puts a 
completion code in the SCT. 



4.1.18 



CONTROL 



IC14 
IC14 



IC14 
User 
Routine 

IC14 
IIC2 



IC14 
IIC2 

IC14 



IC14 
IIA4 



TOPIC I (Cont'd.) 
Reference 



JOB TERMINATION PROCEDURES 



JOB TERMINATION 



1. The Job Termination Routine receives control when 
the last job step of a job has terminated. 

2. If a passed data set queue exists, a check is made 
to see if there are any data sets to which no 
reference was made. If one is found its disposi- 
tion is determined and unal location procedures take 
place. 

3. Control is passed to the user accounting routine. 



4. When control returns the control tables associated 
with this job (JCT, SCT's, SIOT's, and JFCB's) are 
removed from storage and the storage is freed. 

5. Auxiliary storage space used by this job is re- 
leased. 

6. Appropriate entries are made in the output job 
queue for data sets with SYSOUT disposition. These 
data sets are now written by the SYSOUT Routine. 

7. A message of the termination of this job is 
written to the operator. 

8. Control is given to the Exit Routine. 



4.1.19 



Suggested Sequence: 

H. Review and Summary 



Topic I (Cont'd.) 
Reference 



INSTRUCTORS' NOTE: 

This section is intended to summarize major points in the 
logic flow with emphasis on system generation, libraries, 
and cataloging. These diagrams could be made up as a Appendix III 
board display or as flipcharts to be used in the follow- 
ing discussion. The discussion and review should be 
lead by the instructor and questions should be asked of 
the students to encourage them to participate in the 
discussion. (At the points where the number has an 
asterisk beside it, ask the class what library is involved 
and how it is used.) This review may be either at the 
end of this topic or at the end of the course. 



1. System Description 

a. Sizes of system data sets 

b. Proximity of data sets 

1) Interaction 

2) Frequency of access 

c. Catalog Structure 

1) SYS1 catalog 

2) LIBR catalog 

3) Data Set catalog 

a) Normal Index 

b) Generation Data Group 

c) Volume Control Block 

d. Library Structure 

1) Library Volume 

2) Application Libraries 

3) Testing Library 

2. Initialization and Execution 



4.1.20 



Suggested Sequence: 



Topic I (Cont'd.) 
Reference 



INSTRUCTORS' NOTE: 

Using the generated system, the sample input stream, and 
the console sheet, take the students through the steps of 
IPL, NIP, and execution of the first job step. The point 
that is to be made at this time/ is the system library 
usage, interaction, and frequency of access. Take the 
students through a catalog search at initiator time and 
the cataloging of a data set at terminator time. A con- 
sole sheet is included to indicate the messages that the 
master scheduler will issue and the commands that the 
operator must enter at IPL time. 



a. 



IPL Procedure 



* 1) 
2) 



b) 

* c) 

* d) 
e) 



Operator IPL's from SYSRES 

IPL performs the following function: 

a) Clears Main Storage 

Sets Storage Key for Supervisor 
Locates SYS1. NUCLEUS on SYSRES 
Loads Nucleus including NIP 



Gives control to the nucleus 
initialization program. 



3) NIP - Nucleus Initialization Program 

The NIP program, the first thing 
executed in the operating system ini- 
tializes the nucleus and the system 
data sets. Some of the major func- 
tions it performs are: 

a) Initializes the communication 

vector table. The CVT provides 
the means by which nonresident 
routines may reference routines 
in the nucleus. It contains 
pointers to all of the key rou- 
tines in the nucleus and the 
location of system data sets. 

It contains such information as: 

Address of the TCB next to 
be dispatched 



Appendix 
III 



4.1.21 



Topic I (Cont'd.) 

Suggested Sequence: Reference 

Address of entry point to 
the task supervisor 

Address of validity check- 
ing routine 

Address of the UCB for SYSRES 

Address of program fetch 

Date 

Machine Size 

Address of DCB for LINKLIB 

Address of DCB for SVCLIB 

Address of DCB for SYSJOBQE 

Address of DCB for LOGREC 

b) Initializes the UCB table. 

* c) Locates SVCLIB - simulates open- 

ing of this data set - builds a 
DEB. 

* d) Locates LINKLIB - opens LINKLIB. 

* e) Locates LOGREC - opens LOGREC. 

f) Builds resident transient SVC 
table - this is why you must 
re-IPL any time you move SVCLIB. 

g) Sets Timer, 
b. Job Scheduler 

* 1) NIP XCTL's to the Master Scheduler. 

* a) A DCB for LINKLIB is already 

open. 

* b) LINKLIB directory is searched 

for the Master Scheduler. 

* c) The Master Scheduler is loaded 

and begins to execute. 



4.1.22 



Topic I (Cont'd.) 
Suggested Sequence: Reference 

2) Master Scheduler 

a) Master Scheduler types out READY. 

b) Operator enters SET command for 
date and optionally for SYSJOBQE 
and PROCLIB. 

* c) SYS1. PROCLIB and SYS1. SYSJOBQE 

are opened. 

d) START RDR and START WTR commands 
are processed. 

e) Operator enters START. 

* 3) Reader/Interpreter 

The Master Scheduler gives control to 
the Reader/Interpreter. It is located 
on LINKLIB and loaded into core. 

* a) Reader/Interpreter reads job 

stream until it reaches next JOB 
card or data in the input stream. 

* b) Information is placed on SYSJOBQE 

to be processed by the INITIATOR. 

* 4) Initiator 

The Reader/Interpreter turns control 
over to the Initiator which is loaded 
in from LINKLIB. 

* a) The Initiator searches the cata- 

log to locate the library speci- 
fied in JOBLIB. 

b) Issues a mounting message for 
JOBLIB and allocates a device 

* c) It OPENS the JOBLIB and concate- 

nates it with LINKLIB. 

* d) Searches the catalog for input 

data sets that have no volume 
serial number specified. 

e) Allocates devices for these data 

sets and issues mounting messages. 
It then verifies the mounted 
volumes. 



4.1.23 



Topic I (Cont'd.) 
Suggested Sequence: Reference 

f) Allocates devices and/or space 
for output data sets, issuing 
messages as required. 

g) After allocating all devices, 
checking that the proper volumes 
are mounted, it gives control to 
the problem program. 

c. Problem Program 

The Initiator XCTL's to the load module 
named in the EXEC card. The JOBLIB is 
searched first and then the LINKLIB. Space 
is allocated for the load module, it is 
loaded in, and execution begins. 

* 1) OPEN data sets 

Access Methods are loaded into the 
dynamic area from SVCLIB. OPEN oper- 
ates from transient area. 

2) System Macros 

The Problem Program constantly issues 
system macros that are loaded into 
the transient area from SVCLIB. 

* 3) LINK, XCTL, LOAD, ATTACH 

The Problem Program can request addi- 
tional load modules that can be called 
in from JOBLIB and LINKLIB. 

4) EOV 

a) Cataloged Input Data Sets 

The system obtains the next 
volume serial number from SYSJOBQE 
and issues the proper mounting 
messages . 

b) Output Data Sets to be Cataloged 

The system records the volume 
serial number on SYSJOBQE and 
allocates a new volume. 

d. Job Step Termination 

* 1) The terminator is loaded in from LINKLIB. 



4.1.24 



Topic I (Cont'd.) 

Suggested Sequence: Reference 

* 2) The catalog is updated from the volume 
serial numbers retained on SYSJOBQE. 

3) Disposition messages are printed. 

4) The Initiator or Reader/Interpreter 
is XCTL'ed to as required. 

e. Repeat - The cycle begins again. 



4.1.25 



TOPIC I 
REFERENCES 




REFERENCE 
COOE 



1 27 

2 100 

3 11 

4 75 

5 98 

6 95 

7 69 

8 53 

9 31 

10 49 

11 40 

12 70 

13 29 



4.1.26 



OPERATING SYSTEM/360 



CONTROL PROGRAM 



JOB MANAGEMENT 



-ANALYZE OPERATOR COMMANDS 
-PR0CESS INPUT STREAM 
-ISSUE MESSAGES FROM THE 
CONTROL PROGRAM 



TASK MANAGEMENT 



-ANALYZE INTERRUPTIONS 
-MONITOR OPERATION OF SYSTEM 
-DETERMINE WHERE CPU CONTROL 
IS TO BE PASSED 



DATA MANAGEMENT 



-ALLOCATE SECONDARY STORAGE SPACE 
-SCHEDULE CHANNELS 
-READ AND WRITE DATA 
-CATALOG AND LOCATE DATA SETS 



LPSW 



£ 



<J 



INTERRUPTIONS 



PROCESSING PROGRAMS 



LANGUAGE TRANSLATORS 



-PL/I 

-FORTRAN 

-COBOL 

-ASSEMBLER 

-REPORT PROGRAM GENERATOR 

-SYSTEM GENERATOR 

-TEST TRANSLATOR 



SERVICE PROGRAMS 



-LINKAGE EDITOR 

-SORT/MERGE 

-UTILITIES 



USER-WRITTEN 
PROBLEM PROGRAMS 



O 



GENERAL ORGANIZATION a FUNCTION OF THE OPERATING SYSTEM 



OPERATOR* 



JOB INPUT 



JOB OUTPUT 



CONTROL PROGRAM 




PROCESSING 
PROGRAMS 



LANGUAGE 
TRANSLATORS 



SERVICE 
PROGRAMS 



USER 

PROBLEM 

PROGRAMS 



O 



I 



CONCURRENT PERIPHERAL OPERATION 

JOB INPUT 



SYSTEM 
k GENERAT 




ION/ 



PROGRAM C 



SYSTEM GENERATION 

AND 

MAINTENANCE 



=SN 



INTERRUPT 
HANDLER 



TASK SUPERVISOR 



ATTACH 




CONTENTS 
SUPERVISOR 



FETCH 

"T" 



OVERLAY 
SUPERVISOR 



TIMER 
SUPERVISOR 



STORAGE 
SUPERVISOR 



EXCEPTION 
CONDITION 
HANDLER 



EXTERNAL 

STORAGE 

SUPERVISOR 



I/O SUPERVISOR 



EXCP 
HANDLER 



I/O 

INTERRUPT 

HANDLER 



r 1 
i 



_REAOY 
TCB 




TCB 



TCB 
TCB 



TASK 

DISPATCHER 

QUEUES 



IE 



TASK 
DISPATCHER 



ROUTE CONTROL TO TOP 



J) 



PRIORITY TASK IN READY QUEUE 

OPERATING SYSTEM/360 CHART V25-6I56 



FLOW THROUGH SYSTEM GENERATION 



DIAGNOSTIC \ 
MESSAGES 



MACRO- 
INSTRUCTIONS 




SYSTEM 
GENERATION 
JOB STREAM 



IBM SUPPLIED 
AND USER- 
WRITTEN 
MODULES 



^ Assembler =^ 



Linkage 
Editor 



Utility 
Programs 



STAGE 2 




SYSTEM 
RESIDENCE 




DATA SETS 



OPF 1-4 



SYSTEMS RESIDENCE VOLUME 



CYLINDER 00 
TRACK 00 

VTOC 



SYSCTLG 



SYS I 



SYS I. NUCLEUS 



SYSI.SVCLIB 
SYS I. LOGREC 




OPF 1-5 



SYSTEM DATA SETS 



CYLINDER 00 
TRACK 00 

VTOC 



SYSCTL6 

SYS I 

SYS I.NUCLEUS 

SYS I.SVCUB 

SYS I.LOGREC 
SYSI.SVSJOBQE 



CYLINDER 00 
TRACK 00 



VTOC 



SYSI.LINKLIB 

SYSI.PROCLIB 
SYS I.COBLIB 

SYSLMACLIB 




SYSTEM 

RESIDENCE 

VOLUME 



OTHER 
VOLUME 



OPF 1-6 



CORE STORAGE ORGANIZATION 



DYNAMIC < 
AREA 



FIXED < 
AREA 



TIOT 



SCHEDULER REGISTER SAVEAREA 



- ACCESS METHODS AND 
ROUTINES BROUGHT IN 
VIA LOAD 

- SPACE ALLOCATED BY GETMAIN 



T 



1 



FREE CORE 



ROUTINES BROUGHT IN VIA 
LINK.XCTL, ATTACH. ( PROBLEM 
PROGRAM, JOB MGMT. ROUTINES) 



SVC TRANSIENT AREA 



IOS TRANSIENT AREA 



NUCLEUS 



1 




SYS 1. NUCLEUS 



o 



OPERATION OF THE INTERRUPTION HANDLERS 



SVC 



TIMER/EXTERNAL 



PROGRAM 



INPUT/OUTPUT 



INTERRUPTION HANDLERS 




MACHINE-CHECK 



/ 




N 



N 



SVC Handler 



DETERMINE 

TYPE OF 

SVC 



ROUTINE TO 

PROCESS THIS 

PARTICULAR 

SVC 



Timer Int. Handler 



DETERMINE 

CAUSE OF 

INTERRUPTION 

AND PROCESS 



POST THE 

MASTER 

SCHEDULAR 



PERFORM 

USER'S 

PROCESSING 



/RETURN TO 
-M INTERRUPTED 
V PROGRAM 






TERMINATE 
THE TASK 



I/O Int. Handler I/O Supervisor 



SAVE 

REGISTERS 

AND OLD 

PSW 



DETERMINE 

CAUSE OF 

INTERRUPTION 

AND PROCESS 



ANY 

INTERRUPTIONS 

PENDING 

? ^ NO 



YES 



Machine- Check 
Interruption Handler 



POST 
TCBOF 
MACHINE 
CHECK INTER- 
RUPTION TASK 



S\ 



GIVE CPU 
CONTROL 
TO A PRO- 
CESSING 
PROGRAM 



OPF 1-8 



CATALOG STRUCTURE 



SYSTEM RESIDENCE VOLUME 



VOLUME TABLE OF CONTENTS 



MdMMrkkMM 



UUMMMMM 



VOLUME INDEX 
DSCB 



VOLUME 
INDEX 



B I 
L 



Ipointer to 



INDEX B 



E I 



POINTER TO 
INDEX E 



1 



1 VOLUME 



T 



VOLUME 
NUMBER OF G 



T 




POINTER TO 



INDEXl a | 

e I I INDEX A 



— r 
f I 
I 



POINTER TO 
NUMBER OF F 



DATA 




DATA 


SET 




SET 


B.F. 




B.G. 



INDEX 
A 



P I 



VOLUME 
NUMBER OF P 



— r 

L I 
L 



VOLUME 
NUMBER OF L 



t 



O 

-o 



"O 




} 



DATA 
SET 
E.F. 



DATA 

SET 

E.A.L. 



CATALOG STRUCTURE ON TWO VOLUMES 



SYSTEM RESIDENCE VOLUME 



CONTROL VOLUME 



O 

T3 



INDEX 
B 



VOLUME TABLE OF CONTENTS 




VOLUME 
INDEX 
DSCB 




m ......... . 



VOLUME INDEX 



,.. I Pointer to 
ndex B 



Volume 
F ! Number 
of F 



Data 
Set 
B.F. 



Volume Serial 
E j Number of 
| Control Volume 



Volume 

Number 

of G 



Data 

Set 

B.G. 




VOLUME TABLE OF CONTENTS 



VOLUME 
INDEX 
DSCB 



VOLUME INDEX 



I Pointer to 
Index E 



INDEX 

E 



. j Pointer to 

I Index A 
i - 




Volume 
F ! Number 
i of F 



Volume 
• Number 
j Qf P 



• Volume 
L | Number 
I of L 



Data 

Set 

E.A.P 



Data 

Set 

E.A.L 




Data 

Set 

E. F. 



STATES OF A TASK 



o 




STATES OF A TASK 

LEGEND 

1. The job step is attached as a task and its task control 
block is entered into the ready queue. 

2. If this ready task has a higher priority than any other 
ready task, it is dispatched (receives control of the 
CPU). 

3. The task is placed in the wait state to await the 
completion of some event. 

4. The event being waited for is completed so the task is 
placed in ready state. 

5. The active task relinguishes CPU control to a higher 
priority task that has become ready. 

6. A task is completed. Its task control block is deleted 
o from the ready queue and its resources are made 

- available to the system. 



I\5 



JOB STEP-TASK RELATIONSHIP 



o 

-o 



GO 



JOB STEP 



r 



//STEP! EXEC PGM = SIMPLE 



//DDNAME1 DD DSNAME=A^ 



//DDNAME2 DD DSNAME=B > — i 



//DDNAME3 DD DSNAME=C 



l_ 



J 



r 



i_ 



i 
i 

_L 



TASK 



PROGRAM 
"SIMPLE" 

(LOAD 
MODULE) 



l 



DATA SETS 



1. 
2. 

3. 



r T" 1 
i __i 



L_°_J 

r ~c __l 

L.Ji I 



MULTIJOB INITIATION 



> 



INPUT JOB 
STREAM 



O 



I 



JOB 



JOB 



JOB 



JOB 



JOB 



JOB 



INPUT 

WORK 

QUEUE 



JOB SELECTION 




HIGH 
PRIORITY 



♦ 



LOW 
PRIORITY 



JOB 1 
(PRIORITY 14) 


STEP A 


STEP B 


STEP C 



JOB 2 
(PRIORITY 12) 



STEP A 



JOB 3 
(PRIORITY 8) 



SELECTED JOBS 



INITIATOR 




JOB 1 
STEP A 



JOB 2 
STEP A 



STEP A 




JOB 3 
STEP A 



FLOW OF INFORMATION 
TO AND FROM DATA CONTROL BLOCK 



DCB 
MACRO^ 
JNSTRUC-J 
JION 



O 



I 

Oil 



JOB FILE 
CONTROL 
BLOCK 



<s> 




NEW 

DATA SET 
LABEL 



<D 



DATA 

CONTROL 

BLOCK 



— o — 



PROGRAMMER'S 

MODIFICATION 

ROUTINES 



EXISTING 
DATA SET 
LABEL 



PROCESSING 
PROGRAM 



BDAM ROUTINES 

(OPEN TIME) 



OPEN DCB 



O 



I 

O 



i 



DATA 

MANAGEMENT 

OPEN 

ROUTINE 



1 



BDAM 

OPEN 

EXECUTORS 



I i 



I I 



GET STORAGE FOR DEB 



BUILD DCB EXTENTS 



INITIALIZE IRB AND DCB 



LOAD PROCESSING MODULES 
AND STORE ADDRESSING 



ACCESS METHODS 



DATA SET ORGANIZATION 


LANGUAGE CATEGORY 


QUEUED 


BASIC 


SEQUENTIAL 
INDEXED SEQUENTIAL 

DIRECT 
PARTITIONED 

TELECOMMUNICATION 


QSAM 
QISAM 

QTAM 


BSAM 

BISAM 

BDAM 

BPAM 

BTAM 



o 

T3 



I 

^1 



CHAIN OF SYMBOLIC REFERENCES 



COMiLED WITH OBJECT MODULE CREATED WITH DATA SET 



o 







DCB 






DATA SET LABEL 


f 

GET 


DCBNAME 


DDNAME 




DSNAME 








DD 





COMPILED WITH OBJECT MODULE 



CONTROL STATEMENT AS 
INTERPRETED AT JOB TIME 



I 

00 



EXCP 
MACRO -INSTRUCTION 



EXCP IOB ADDRESS 

OR 

G.R.-C(IOB ADDR.) 



O 



•o 



INPUT/OUTPUT PROGRAM FLOW 



o 

-a 



PROBLEM PROGRAM 



DATA CONTROL BLOCK .<' 



ACCESS ROUTINES 



■ BUFFER CONTROLS 
BLOCK-DEBLOCK 

1 ETC - 



BUFFER 
POOL 





SVC (OPEN) 



© 



SVC (EXCP) 



> 



> 



OPEN 
ROUTINES 



© 



I/O 
SUPERVISOR 



© 



START 

1 

I/O 



to 
o 



GENERAL FLOW-I/0 SUPERVISOR 



NO 



NO 



ANALYZE 

ERROR 8 

HANDLE 



ERROR 



CONT 
UNIT 

BUSY 





HANDLE 
OUTSTANDING 
INTERRUPTS 



HANDLE 
START I/O 
PROCEDURES 



CHANNEL 
FREE 



FIND REQUEST 

TO START 

ON CHANNEL 



DEVICE OR 
CONT. UNIT 
BUSY 



EXCP 
SIO x* 

RESULT ^ 



YES 




ANALYZE 

ERROR 8 

HANDLE 



ACCEPTED 



ACCEPTED 



ENQUEUE 

THE 
REQUEST 



jf INTERPT. A 
\sUPERVISORy 



OPF 1-21 



o 



I 



PROCESSING 




BUAM 




1 * 

1 
1 

1 

I * 


RELATIVE 
TRACK 


PROGRAM 








— 


(PROCESSING REQUEST) 




CHECK 
REQUEST 
VALIDITY 


— 


















_ 






CONVERT 
ADDRESS 


RELATIVE 
BLOCK 


— 






— 






^™ 






BUILD 108 




READ/WRITE — 














1 

, ! 








_ 


n 


* 






PROCESS 

REQUEST 

ERRORS 




— 




BDAM 
FOUNDATION 

(BASE 
COMPONENT) 








READ/WRITE 

BY 
BLOCK I/O 










_ 








— 








i 
i 




™~ 








READ/WRITE 

BY 
BLOCK KEY 












1 


! I 














1 1 J 




GENERATE 
CHANNEL 
PROGRAM 








1Z-J 


WRITE-ADD, 
FORMAT F 








— 1 
























j.__j 








WRITE-ADD, 

FORMAT 

U or V 




INPUT/OUTPU1 
SUPERVISOR 
















♦ 




- 


SCHEDULE I/O 
REQUEST 








T 
1 




1 *. 


WRITE - 
VERIFY 




1 

l_ 




1 
_l 





Flow of control in QSAM, BSAM, ond BPAM for Members 



o 

-a 



ho 

CO 



PROCESSING PROGRAM 
(Using QSAM) 



GET, PUT, PUTX 



PROCESSING PROGRAM 
(Using QSAM or BPAM) 



READ/WRITE 



Need New Buffer 



n 



GET/PUT 
ROUTINES 



End-of-Block 
Condition 



SYNCHRONIZING 
ROUTINES 



I 



READ/WRITE 
ROUTINES 



^ 



END OF BLOCK 
ROUTINES 



BALR 



\ 



EROPT 



EXCP 



User's SYNAD 
Routines 



CHECK 



CHECK 
ROUTINES 



(ACCEPT) 



I/O Supervisor 



User's SYNAD 
Routines 



Appendages 



ECB 




I/O Interruption 

i 



I/O Supervisor 



I/O Interruption 
Supervisor 



EXCP 
Supervisor 



A 



T 




OB 



ECB 



LPSW 



BSAM 



DECB j 



QSAM I 



ECB 



PROCESSING 
PROGRAM 



BDAM ROUTINES 

(CLOSE TIME) 



CLOSE DCB 



1 



O 



I 



i 



DATA 
MANAGEMENT 

CLOSE 
ROUTINE 



"1 



BDAM 

CLOSE 

EXECUTORS 



I I 



I I 



PURGE 
SCHEDULED 
lOB's 



RELEASE 

IOB STORAGE 

AREAS 



CLEAR DCB 
BDAM 
FIELDS 



EXECUTE CHANNEL PROGRAM Topic II 

Suggested Sequence: Reference 
A. Role of EXCP in OS/360. 

1. What is EXCP? 1 

EXCP is the interface between any user or system 
program requiring input/output operations and 
the I/O Supervisor of OS/360. The EXCP macro- 
instruction causes a supervisor call interrup- 
tion (SVC 0) to pass control to what is essen- 
tially a device-dependent accessing method that 
allows the user to control I/O device hardware 
by channel commands he constructs. In no way 
in OS/360 is the user permitted to perform I/O 
operations outside the supervisory control of 
IOS. 

The I/O Supervisor consists of two parts: 

EXCP Supervisor 

I/O Interruption Supervisor 

The services provided to all users requesting 
any type of I/O are: 

Scheduling the I/O request on the device 
and a channel. 

Issuing SIO for the channel commands the 
user provides. 

Processing I/O interruptions and perform- 
ing error recovery procedures. 

Notifying the user about the status of the 
computer request. 

2. Who uses EXCP? 

a. Standard Accessing Methods 

In most cases the system supplied accessing 
methods, such as SAM and DAM, will satisfy 
the customer and application requirements. 
They provide the programmer with relative- 
ly simple macros (GET, READ, etc.) and re- 
lieve him of responsibility for coding 
device dependent and tedious housekeeping 
routines in his application programs. 

The standard accessing method routines are 
entered via a branch when the user issues 
GET or READ, and they ultimately issue EXCP 



4.2.1 



Topic II (Cont'd.) 

Suggested Sequence: Reference 

macros. For the problem program they: 

Construct all required system control 
blocks except the Data Control Block 
by which the user specifies in his 
program which accessing method he 
needs. 

Create channel programs peculiar to 
the device type assigned to the user's 
data set. 

Link to appendages providing end of 
data and end of extent recognition. 

Perform volume switching when necessary. 

b. Problem programmers use EXCP directly when: 

1) Designing their own accessing methods. 

2) Writing non-standard label processing 
routines . 

3) Processing data recorded in a fashion 
not supported by the standard access- 
ing methods, e.g. tapes where tape 
marks occur after every record. 

4) Handling I/O devices not supported 
by OS/360: 

Unsupported in current systems 
(2302, hypertapes, etc.) 

No support announced (7770 audio 
response) 

Non-IBM devices 

The user must in these cases build 
the control blocks and perform the 
housekeeping that the standard rou- 
tines normally provide. 

3. Considerations in using EXCP and incorporating 
user routines into IOS. 

a. I/O programming is considerably more diffi- 
cult because: 

1) User manipulates system control in- 
formation (ECB's, IOB's, channel 

4.2.2 



Suggested Sequence: 



2) 



Topic II (Cont'd.) 
Reference 



programs, seek addresses). 



3) 



User must be aware of logic of IOS, 
how it manipulates control blocks, and 
how it flags error conditions. 

User must know in detail the operating 
characteristics of the devices he is 
controlling. 



B. 



How EOF is signalled. 

What device and channel end 
errors mean and how they are 
indicated. 

How the device responds or fails 
to respond to S/360 channel com- 
mands, such as SENSE. 

However, in situations where standard 
accessing methods impose restrictions (no 
command and data chaining in a single tape 
channel program, inability to handle inter 
spersed tape marks easily) , the user can 
take full advantage of the flexibility of 
S/360 hardware by using EXCP. 



Introduction to IOS and the use of EXCP 



b. 



INSTRUCTORS ' NOTE: 

The following sections are intended to give the students 
a basic understanding of: 

How channel scheduling is performed. 

Queue and control block manipulation by IOS. 

Error recovery in OS. 

Excellent reference material is available on this subject 
It is recommended that EXCP users become familiar with: 

Introduction to Control Program Logic, Part I - Y28-6605 
OS/360 Input/Output Supervisor - Y28-6616 
System Programmer's Guide - C28-6550 

All discussions of logic and control blocks apply only to 
single task and sequential scheduler systems. 



4.2.3 



Topic II (Cont'd.) 
Suggested Sequence: Reference 

1. Control Program Logic - Tables constructed 2 

at System Generation time. OPF II -1 

a. Unit Control Blocks 3 

1) One block for each device on system. 

2) Part of nucleus of OS. 

3) Used by IOS and job scheduler. 

4) Contents 

a) Device address (channel part of 
address will vary if there are 
alternate paths to the device.) 

b) Unit name - 183,000, etc. 

c) Device status bits - UCB busy, 
not ready, etc. 

d) Volume # currently mounted. 

e) Pointers to: Device table 
containing pointers to queuing, 
SIO, interrupt analysis routines 
for this device type. 

Beginning of logical 
channel table. 

SVC error routine. 

Statistical counters for 
this device. 

f) Seek queue control information 
if this is DASD. 

5) UCB's are arranged in core by device 
address within channel. 

b. Request Element Table 4 

1) These blocks are queued onto logical 
channels or seek queues as I/O re- 
quests are made during system execution. 

2) Any element in the table can be 
active, queued, or available. 



4.2.4 



Topic II (Cont'd.) 



Suggested Sequence: 

3) 



c . 



There are as many RQE's as you speci- 
fied simultaneous I/O options in the 
CTRLPROG macro at System Generation. 

4) If at execution time an I/O request 
is made and there are no RQE's avail- 
able, IOS sits in a pseudo disabled 
loop waiting till an I/O interrupt 
occurs during an RQE. 

5) Contains pointers to UCB, IOB, DEB 
(discussed later) , and next element 
in queue. 

Logical Channel Word Table 

1) Concept of a logical channel 

Definition: All devices that can be 
reached thru the same set of physical 
channel paths are said to be in the 
same logical channel. 



Example : 



r 2848 



Chi 



A- 2841 



Ch2 



Reference 



2260 
Disk Drives 



"U 



2804 



Tape Drives 



DASD's on the 2841 and 2260 f s on their 
control unit are in the same logical 
channel. (They can be accessed only 
thru physical channel 1.) 

Tapes on the 2804 (or switching unit) 
are in a different logical channel 
because they can be reached either 
thru channel 1 or, if it is busy, 
thru channel 2. 



INSTRUCTORS' NOTE: 

The multiplexor channel constitutes only 1 logical channel. 



4.2.5 



Topic II (Cont'd.) 
Suggested Sequence: Reference 

2) An LCWT entry is constructed for each 
logical channel and contains: 

a) Pointers to 1st and last entries 
in RQE table that are currently 
in this logical channel, 

b) Pointer to the TCH (test channel) 
module entered when I/O request 
is made. This module tests to 
see if physical channels within 
the logical channel are available. 

3) Relationship of LCWT and request OPF II -2 
element table. 

a) All entries in RQE table are 
queued onto something: free 
list, logical channel queue. 

b) All those currently waiting to 
be handled on logical channel X 
are linked together and are 
pointed to by LCWT entry. Last 
one is pointed to so that it can 
be easily found when new request 
has to be added to the queue. 

c) Last element in any queue always 
has link field containing all 1 
bits. 

2. Control Program Flow - Problem Program Initia- 6 

tion Appendix V 

Refer to chart. 

a. Reader/Interpreter constructs tables for 
1 job and stores them in SYSJOBQE. (R/I 
reads control cards and builds tables until 
it hits a DD* card or another JOB card.) 

b. Initiator overlays R/I in dynamic core, 
builds Task I/O Table in high core, and 
prepares for fetching of problem program 
(besides device allocation, etc.). 

c. TIOT contains each DDNAME for this job 
step and pointers to UCB's assigned to 
the associated data set. 

d. Initiator XCTL's to problem program. 



4.2.6 



Suggested Sequence: 

e. Organization of main storage. 



TIOT 



Scheduler register save area 



I 



Access methods § routines 
brought in via LOAD 



Free core 



i 



Topic II (Cont'd.) 
Reference 

OPF II-3 

7 



Routines brought in via LINK, 
XCTL, ATTACH (Problem program, 
job management routines) 



NUCLEUS 



SVC transient area 



IOS transient area 



Dynamic 
Area 



►Fixed 
Area 



1) Any storage allocated from free core 
by GETMAIN or LOAD will come from 
the highest part of free core. 

2) Any area allocated for LINK, etc., 
will be immediately above the last 
currently active module in dynamic 
core . 

3. Control Program Flow - OPEN 

Refer to chart. 

a. OPEN, specifying any series of Data Con- 
trol Blocks the programmer has built in 
his program, generates an in-line SVC 19. 

b. The system locates the secondary OPEN rou- 
tines in SVCLIB by issuing a BLDL macro 
and LOADing them into main storage. 

c. OPEN (routines run enabled for I/O inter- 
ruption) . 

1) Completes the DCB and output DSCB. 



8 
Appendix VI 



4.2.7 



Suggested Sequence: 

2) 

3) 

4) 

5) 

6) 



Topic II (Cont'd.) 
Reference 



Causes non-standard labels to be 
checked. 

Exits to any user label processing 
routines specified in an EXLST. 

LOADS any IOS appendage routines 
specified in the Data Control Block. 

Exits to accessing method routines 
which build Data Extent Block for 
each DCB opened. 

DEB - built in high core 

(is not protected in current 
system) . 

- contains system control informa- 
tion about subroutines loaded, 
other tables, etc. 

- linkages built: 



9 

10 



DCB 




DEB 


> 


UCB 



I 



Next DEB 
of step 



- contains extents on this DASD 
volume. 

The disk address for every DASD seek 
request is checked against extent 
boundaries by IOS. 

4. Problem program use of EXCP - general approach. 

a. User must construct and do the following: 

1) Data Control Block 

2) Input/Output Block 

3) Channel Program 

4) Event Control Block 



11 
OPF II-4 



4.2.8 



Suggested Sequence: 

5) 
6) 
7) 

8) 



Topic II (Cont'd.) 
Reference 



Code EXCP and OPEN and CLOSE. 

Wait for event completion. 

Test status of completed request. 

Perform certain housekeeping opera- 
tions on DCB, IOB, § ECB. 



b. 


Data 


Control 


Block 


for 


EXCP 






INSTRUCTORS* 


NOTE: 


ow 


the 


descrip 


>tion 


in 


the 


System 


Students should foil 
Programmer's Guide. 



c. 



1) MACRF § DDNAME parameters are required, 
although DDNAME could be inserted into 
the DCB prior to OPEN. 

2) If user has placed IOS appendages 
into SVCLIB and wants to use them, he 
must indicate their identification 
numbers in the DCB. (Note: Appendages 
are discussed later.) Ex. A SAM 
appendage checks for /*EOData when 
data is input job stream. 

3) EODAD is required only when EOV macro 
is being used and is issued when data 
set is currently positioned on last 
volume. (Last volume is determined by 
volume count or list of volume serial 
numbers maintained by job control.) 

4) Note common interface and foundation 
block extension information. The 
information is primarily useful for 
building data set labels. 

5) Note device-dependent parameters. 

If you specify no device type, 20 bytes 
will be reserved. 



OPEN macro is coded just as it is for 
other accessing methods. 

i (input ^ f reread\ 
(RDBACK ) , / LEAVE \ 
K)UTPUTJ |DISP I 

OPEN (INFILE,,OUTFILE, (OUTPUT)) 



11 



12 



[ ,dcbname]) 



4.2.9 



Topic II (Cont'd.) 
Suggested Sequence: Reference 

d. Coding EXCP - EXCP IOB-ADDR 

e. Input/Output Block - IOB 13 

1) User must build the block containing 
primarily points to his: 

Data Control Block 

Channel Program (discussed later) 

Event Control Block 

2) User's I/O request is entered into 
logical channel queue by having 
address of IOB put into RQE. 

3) Summary of control block linkages. OPF II -5 

4) The SIO routines of IOS locate the 
channel program that is to be executed 

via RQE -► IOB ■*■ CCW. 

5) Completion of the event is signalled 
by a post code in the ECB indicated 
by the IOB, and by channel status 
information stored in the IOB. 

f . WAITing on event completion WAIT ECB-ecbname 

1) User must construct the full word 14 
Event Control Block and be sure the 
complete bit is set to zero before 
issuing EXCP. 

2) When event is completed, the user 
must check the completion code (1st 
byte of ECB) to determine success of 
request. (Specific codes will be 
covered later.) 

g. User issues normal CLOSE when he determines 15 
he is at end of data set. 

CLOSE (dcbnameQ LEAVE I REREAD I DISP^ ) 

CLOSE performs these functions: 

Release of DEB. 

Restoration of DCB to its status 
prior to OPEN. 

Verification or creation of standard 
labels. 

4.2.10 



Suggested Sequence: 



Topic II (Cont'd.) 
Reference 



Volume disposition. 



Release of programmer - written ap- 
pendages routines. 

h. Sample EXCP program 

Control Program Logic - I/O Supervisor 

a. Very general flow chart - IOS in this 

system is not in general concept different 
from other channel schedulers and interrupt 
supervisors. 

Develop on board: 



OPF II-6 



EXCP 



I/O INTERRUPT 



NO 




Enqueue Request 



in 



Logical Channel 



YES 



Start I/O 
Operation 



/* Return to "\ 
\Task Supervisor/ 




YES 



Post Status 

of Request 

in ECB 




f Return to 
J ask Superv 



I sop/ 



YES 


Schedule 

Error 

Correction 




>■* 







b. 



In implementation detail, however, it is 
quite different. 

Detailed analysis of EXCP Supervisor 
handling of I/O requests. 



16 



4.2.11 



Topic II (Cont'd.) 
Suggested Sequence: Reference 

Review logic of flow chart. Appendix 

VIII 
Develop example of request for a tape oper- 
ation on Selector Channel. (Note: There 
are few differences in the handling of unit 
record devices on multiplexor channel and 
several in handling DASD on any channel. 
Techniques in handling DASD are covered in 
the second part of the EXCP outline.) 

1) EXCP for tape I/O issued - assumed de- 
vice and channel free. Follow IOS logic. 

a) After validity of request is 
checked, a request element RQE 17 
is issued for the I/O operation 

and pointers to it will be 
placed in a queue or in UCB. 

b) Test channel modules - 2 types 18 

Selector channel - TCH is 
sufficient. 

Multiplexor - TCH would 
always reply available, so 
only way to test is to 
i s s ue S 1 . 

c) A TCH module exists for each 
logical channel so that the unique 
set of physical channels in the 
logical channel can be tested for 
availability. 

d) SIO routine for specific device 19 
type entered. UCB busy set if 

SIO is given. 

NOTE: If request is for a burst 
device on MPX channel, the re- 
quest is held up until all over- 
runable devices have stopped oper- 
ating. 

e) Tape SIO - Channel program con- 
sists of 2 CCW's in addition to 
user's CCW's: 

1st - Sets mode for 7 track tape 
operation - IOS finds the 
information in DEB (mode 
is NOP for 9 track tape) . 

4.2.12 



Topic II (Cont'd.) 
Suggested Sequence: Reference 

2nd - TIC to user CCW's. 

f) Unit record SIO - no preliminary 
commands are required. 

g) Result of SIO 

If MPX channel is operating 
there may be a busy result 
indicating that the sub- 
channel is busy. 

If control unit is shared 
between 2 channels and is 
currently in use, control 
unit busy signal will be 
indicated. 

h) SIO accepted - return to task 
supervisor. 

2) User program issues second request 
for tape drive, requiring queuing 
of the request. 

a) Device is already busy: UCB 
busy bit on. 

b) Queuing a request in a logical 18 
channel . 

Next available RQE is filled 
in with information for 
this request (top of free- 
list) . 

UCB -► LCWT entry for proper 
logical channel. 

Queuing techniques for 
non-DASD. 

FIFO - RQE added at end 

of current logical 
channel queue. 

Priority - applies to 

multitask system 
only. Within a 
given priority 
entries are queued 
in a FIFO arrange- 
ment. 

4.2.13 



Topic II (Cont'd.) 
Suggested Sequence: Reference 

3) I/O interruption occurs 20 

a) UCB for device causing interrupt 
is found via a UCB look-up table 
in Nucleus. 

b) UCB -* active RQE + IOB $ DEB 

c) Trapcode modules exist for each 21 
device class and analyze the 

CSW bits as they apply to a 
specific device type. 

d) In case of errors: 

DASD routines are mostly 
resident and are entered 
directly. 

Other error routines are 
transient and must be pulled 
in by an input operation 
from SYSRES. If SYSRES or 
its channel is currently 
busy, then the I/O request 
must be queued. Error 
correction then does not 
take place immediately. 

e) Channel restart procedure 22 

Any pending interruptions 
are taken (e.g. seeking or 
rewinding complete) until 
channel is free. 

Channel search modules - 1 22 
per physical channel. Rou- 
tines search the queues of 
the logical channels to which 
it belongs for a waiting RQE. 

NOTE: All seeks waiting 
for the channel are started 
before any data transfer 
operations. 

4 types of channel search 
routines: 

MPX - no burst devices 

MPX - burst devices 



4.2.14 



Topic II (Cont'd.) 

Suggested Sequence: Reference 

Selector channel in 
only one logical channel 

Selector channel in more 
than one logical channel 

£) After channel has been serviced, 
IOS returns to task supervisor. 

6. User Programming Responsibilities - Detail 

a. Construction of channel commands. OPF II -7 

OPF II-8 

1) CCW instruction 

OP Operands 
CCW cmd, data address, flags, count 

Command code, flags, and count must 
be absolute expressions. 

2) Channel Program examples OPF II -9 

a) SILI flag - channel returns an 
error if data length specified 
in count is not the same as 
physical block or buffer length. 
To suppress error indication, 
turn the flag on. 

SILI is required for all tape 
writing operations. 

b) Count should never be equal to 
zero in a control command. 

c) Control commands that may not 
appear in user chanel programs 
are: 

Rewind, Rewind and Unload, 
set file mask for 7 track 
tape, set file mask for 
disk, and seek on disk. 

IOS always sets file masks for 

disk and tape, and the hardware 

does not permit two such commands 

in the same channel program. 

The DASD set file mask inhibits 

further seeks outside current 

cylinder. OPF 11-10 



4.2.15 



Suggested Sequence: 



Topic II (Cont'd.) 
Reference 



d) On data and command chaining for 
tape and UR, IOS does not have 
the ability to determine where 
to restart a channel program if 
there is any mixture of DC and 
CC in a CCW series. IOS will 
signal permanent error, and user 
can figure out how to handle the 
error. 

e) The user must set bits and 1 

of the first IOB byte to indicate 
data or command chaining. 



INSTRUCTORS' NOTE: 

Disk examples will be covered in the second section of 
EXCP. For further information on channel commands, see 
pp. 11 and 12 of S/360 Reference Card, X20-1703, or the 
control unit hardware manuals. 



b. Error testing following execution of WAIT 
Macro 

In case of unrecoverable error the first 
2 bits of I FLAGS in DCB are set on, and 
the first byte of the ECB is set. User 
must test the ECB. 

1) Channel program terminated. When 
channel end, with or without device 
end, occurs: 

the ECB is posted complete, 
indicating whether or not there 
were data transfer errors, and 

the associated RQE is freed. 

If device end occurs simultaneously 
(as in tape and disk data transfers) , 
then unit exception and unit check 
conditions are also noted. 

2) Channel program intercepted* If 
device end occurs after channel end 
(as in typewriter and printer opera- 
tions where the device continues to 
operate after data transfer has 
terminated) , and if there were unit 
errors (carriage return or forms 
failures), the UCB is marked inter- 
cepted. 



10 



OPF 11-11 



4.2.16 



Suggested Sequence: 



Topic II (Cont'd.) 
Reference 



d. 



If error correction procedures initi- 
ated on next request for the device 
fail to correct the situation, the 
ECB is marked intercepted, the DCB 
exception bits 0, 1 of IFLAGS are set 
to l's, and the current request is 
not executed. 

User may reissue the intercepted 
request after resetting the DCB bits. 

End of data checking 

1) If input data is from system input 
stream, user must check for /*. 

On reading tape mark, EOD record on 
disk, or trying to read past EOF on 
card reader, user gets: 

a) ECB - Channel end error. 

b) Unit exception flagged in CSW. 
Testing for unit exception in IOB. 

IOB 



2) 



3) 



IOB*12 























... 



CSW low 
order 7 bytes 
stored 



TM IOB+12, X'01' unit exception is 
the seventh bit of this byte. 

Preparation for issuing EOV or CLOSE for 
a tape. 

1) The action taken and label process- 
ing will depend on the setting of 
OFLGS field in the DCB. User must 
set bits 0, 1, 4, 5 as follows: 

Bit - indicates that a tape mark 
is to be written. 

Bit 1 - indicates that a backwards 

read was the last I/O operation. 

Bit 4 - indicates that data sets of 
unlike attributes are to be 
concatenated. 



15 



4.2.17 



Suggested Sequence: 



Topic II (Cont'd,) 
Reference 



Bit 5 - indicates that a tape mark 
has been read. 

If Bits and 5 of OFLGS are both off 
when EOV is executed, the tape is 
spaced past a tape mark, and standard 
labels, if present, are verified on 
both the old and new volumes. The 
direction of spacing depends on Bit 1. 
If Bit 1 is off, the tape is spaced 
forward; if Bit 1 is on, the tape is 
back-spaced. 

If Bit is on when EOV is executed, 
a tape mark is written immediately 
following the last data record of the 
data set, and standard labels, if 
specified, are created on the new 
volume. 

To indicate that a tape mark is to be 
written i 

01 DCBNAME + 48,X , 80' 

C Student Problem to be Tested in Machine Lab 
(For alternate problem, see Appendix XVIII.) 

1. Write a program using EXCP to load a tape from 
an input data set containing 80 character 
blocks. The data set may be on cards or on 
tape. End of data set is to be determined by 
checking the unit exception bit in the channel 
status word stored in the IOB. 

Before writing each output record, insert your 
name in positions 10-25 for identification on 
the tape dump. 

In the following job step, dump the tape to the 
printer using the IEBPTPCH Utility program. 

Job control cards will be provided. 

2. Write and insert into SVCLIB a channel end 
appendage routine that you will use on every 
input data set you process using EXCP. The 
appendage is to determine whether or not your 
input data set is the SYSIN data set (indicated 
by data set status flags in the DEB) . 

If it is, and the record just read contains /* 
in the first 2 positions, the appendage is to 
set the unit exception bit in the CSW storage 



Appendix 
XVIII 



4.2.18 



Topic II (Cont'd.) 

Suggested Sequence: Reference 

of the IOB to indicate the standard end of data 
set condition. In all cases, provide for a 
normal return to IOS. 

Modify the DCB of part one of the problem so 
that it uses the appendage. 

The problem solutions are contained in Appen- 
dix IX. Appendix IX 

D. Controlling DASD by EXCP 

1. Ease of Control by User 

a. DASD are not as difficult to control on 
S/360 as on some past systems, but the 
user housekeeping requirements when using 
EXCP are considerable when compared to 
handling tape or unit record. 

b. Programmer responsibilities in addition 
to usual control block construction and 

error testing: OPF 11-12 

1) Building and maintenance of the seek 
address in the IOB. 

Incrementing record # 

Incrementing head # when track 
exhausted 

Incrementing cylinder # when 
cylinder is exhausted 

2) Recognition of end of extent and 
initializing seek address to beginning 
of next extent if there is one. 

3) Construction of channel commands and 
construction of count field in core 
if loading a sequential data set. 

4) Giving CLOSE information about where 
to record EOD marker at end of PS or 
PO data set. 

2. IOS handling of disk I/O requests. Refer to 

IOS logic chart. Appendix 

VIII 

a. All DASD requests are broken into two 
separate requests: 



4.2.19 



Topic II (Cont'd.) 

Suggested Sequence: Reference 

Stand alone seek which overlaps other 
operations on the channel, such as 
other seeks or data transfers. 

Seek and data transfer chain of com- 
mands. 

b. Seek Queuing - (Assume device is busy - 
seeking, transferring data, or waiting to 
begin a data transfer - when request is 
made.) 

1) DASD I/O requests are first queued 23 
onto the seek queue which begins in 

the UCB. An RQE is taken from the 
freelist and queued onto the UCB in 
one of 3 ways, depending on SYSGEN 
options: 

FIFO 

Priority (multitask system) 

Ordered queuing 

2) Assuming seek address is valid, the 
SIO for stand alone seek is issued 
and IOS waits for channel end indi- 
cating that the seek address has been 
received. Disk arm seeking and UCB 
busy bits are set. 

3) If entry to SIO module came from 
Interruption Supervisor, then IOS 
loops back to see if there were other 
seek requests in seek queues or data 
transfer requests in a logical channel 
queue for this physical channel. 

c. Device end for the stand alone seek. RQE 22 
placed in logical channel queue to await 

its turn on the channel. 

NOTE: The UCB is still busy, so, prior 
to starting the data transfer, all other 
problem program seek requests would be 
queued onto the UCB. 

ARM STEALING CAN NEVER TAKE PLACE IN ANY 
VERSION OF IOS. 

d. Data transfer operation begins. The SIO 24 
module for DASD always issues 2 channel 



4.2.20 



Topic II (Cont'd.) 

Suggested Sequence: Reference 

commands before transferring in channel 
(TIC) to the user's commands: 

1st - reissue SEEK - to reset head 
register in the control unit. 

2nd - set file mask as indicated in 25 
DEB to inhibit certain types of seeks 
and writes. 

The disk data transfer flag is turned on. 

e. When channel and device end interrupt 
occur, if there are errors, the core resi- 
dent 2311 error routine is immediately 
entered. If the non-resident portion is 
required, it is scheduled in the normal 
manner. 

f. The channel is restarted, and CPU control 
eventually goes to the task supervisor. 

3. Programming for disk. Refer to sample disk Appendix 
program. VII 

a. IOB 26 

1) Indicate command chaining in the 
Flags 1 byte. 

2) Build space for the seek address. 

b. Maintaining seek address 

1) Set M - the extent number (the 1st 
is zero) and extract the extent 
beginning CCHH address beginning at 

the 38th byte of the DEB. 27 

2) Prior to each new disk operation, 
user must be sure that the IOB seek 
address field is set properly. 

3) User is responsible for incrementing 
record, track, and cylinder numbers 
as required. 

4) At end of extent, the user is noti- 
fied and must check to see if there 
are additional extents - (extent 
count field in DEB) . 



4.2.21 



Topic II (Cont'd.) 

Suggested Sequence: Reference 

5) To get volume switching or, for out- 
put files, secondary allocation, use 
the EOV macro. 

When issuing EOV for sequentially 15 
organized output data sets on direct- 
access volumes, you can determine 
whether additional space has been 
obtained on the same or different 
volume by checking the volume serial 
number in the unit control block (UCB) 
both before and after issuing EOV. 

c. End of file handling 

1) Input or update files - sequential. 

2) FIFO - request is added at end of 
current queue. 

3) Priority - request is inserted into 
queue following requests of other 
tasks with the same priority. 

4) Ordered Seek Queuing - Minimizes 
irregular arm movement. 

Stand alone seeks are executed 
in order of seek address as the 
arm moves from lower to higher 
cylinder addresses. 

Technique: If current request 
is for a cylinder higher than 
current position of arm, then 
RQE is entered in its place in 
a primary queue; otherwise, it 
is entered in the secondary queue 
which begins at cylinder 0. 
When the primary queue is 
exhausted, the secondary queue 
becomes primary. 

d. Eventually the device and channel become 
available and an SIO module is entered 
from I/O Interruption Supervisor. 

1) Prior to stand alone seek, the DASD 24 
SIO module checks seek address against 
extent boundaries. If request is not 



4.2.22 



Topic II (Cont'd.) 

Suggested Sequence: Reference 

within extents, then: 

End of extent appendage is 
entered where user may fix up 
the extent problem and request 
that IOS try again. 

Or if no fix up, permanent error 
posted and abnormal end appendage 
is entered. 

Without either appendage, the 
request is posted complete with 
end of extent violation in ECB. 

Unit exception bit is turned on when 
EOD record is read. 

User must check for this. 

2) Sequential or partitioned output 28 

files being loaded. CLOSE will write 
an EOD record following last record 
written. User must set DCB fields: 

DCBADDR + 5 - MBBCCHHR 

CLOSE will write the file mark 

in R + 1 record position. 

TRBAL (DCBADDR + 18) indicates 
the balance of space left on the 
track. File mark is written 
only if there is enough space. 

e. Writing the channel program - See the OPF 11-13 
2841 hardware manual. 

1) Reading records 

a) User provides address for seek- 
ing in IOB. 

b) Channel commands specify the 
record to be located and what 
part of the data to be read. 

c) Search must be executed; a read 
alone would read whatever 
followed the next address marker. 



4.2.23 



Suggested Sequence: 



Topic II (Cont'd.) 
Reference 



d) If search argument is not equal 
to ID or Key on disk, the channel 
falls through to the next com- 
mand, which must force re-execu- 
tion of the Search command. 

NOTE: Flags are ignored in a 
TIC command. 

e) When search argument and disk 
agree, the channel will jump one 
command to reach the Read. 

f) I/O area must be large enough to 
hold (Key and) Data, and count 
must specify the combined lengths 
to avoid incorrect length indica- 
tion. 

2) Updating - change the command from 
Read to Write. 

3) File Loading. Programmer formats OPF 11-14 
the track as he loads records. 

a) Programmer builds 8 byte count 
area in core and supplies actual 
key and data lengths. CCHHRK 
DD Data. When he writes the 
new record, he specifies the 
beginning of the count area, and 
the length of information to be 
written is count (8) + Key - Data 
Lengths . 

b) Channel Program 

Search ID - for record preceding 
one you are writing. 

TIC * - 8 

Write Count * Key and Data 

NOTE: The ID on which you 
search and the ID you write are 
different. To write the first 
record on the track, search on 
record 0. 

c) Never include in your channel 29 
program: 

Set file mask: hardware 



4.2.24 



Suggested Sequence: 



Topic II (Cont'd.) 
Reference 



will reject it. 



Seek for more than a head 
switch within the current 
cylinder, and that only if 
your extents begin on cylin- 
der boundaries. 



4.2.25 



TOPIC II 
REFERENCES 



REFERENCE 
CODE 




4.2.26 



TABLES USED BY I/O SUPERVISOR 



(deviceY* 



UCB 

LOOKUP 

TABLE 




DEVICE 
TABLE 



STATISTICS 
TABLE 



ATTENTION 
TABLE 



LOGICAL 

CHANNEL 

WORD 

TABLE 



H 



r START I/O ~| 
. MODULES i 



nz ~i_ 



["attention I 

I ROUTINES | 
I J 



r TEST "| 

I CHANNEL | 

! MODULES I 
I -j 



j ENQUEUE j 
I MODULES I 



O 




CHANNEL 
TABLE 



I TRAPCODE , 

*! MODULES I 
I I 



r 



CHANNEL 



I 



+j SEARCH j 
|__MODULES^_| 



REQUEST 

ELEMENT 

TABLE 



USAGE OF REQUEST ELEMENT TABLE 



O 



DASD UNIT 
CONTROL BLOCKS 



DASD 1 



t SEEK QUEUE 



DASD 2 



COMMUNICATION 
VECTOR TABLE 



tLAST 



t FREELIST 




t LCWT 



RQE TABLE 



• LAST SEEK 



NEXT AVAIL 



LOGICAL CHANNEL WORD TABLE 



ILOGICAL CHANNEL Q 




NEXT SEEK 



NEXT DATA TRF 



LAST AVAIL 



AVAIL 



DATA TRF 



AST DATA TRF 
ACTIVE 



UCB 



i«o 



CORE STORAGE ORGAN iZATION 



O 

T3 



I 

CO 



DYNAMIC < 
AREA 



FIXED 
AREA 



TIOT 



SCHEDULER REGISTER SAVEAREA 



- ACCESS METHODS AND 
ROUTINES BROUGHT IN 
VIA LOAD 

- SPACE ALLOCATED BY GETMAIN 



T 



1 



FREE CORE 



♦ ROUTINES BROUGHT IN VIA 
LINK.XCTL, ATTACH. (PROBLEM 
PROGRAM, JOB MGMT ROUTINES) 



i 



I 



SVC TRANSIENT AREA 



IOS TRANSIENT AREA 



NUCLEUS 




USER OF EXCP MUST 



CONSTRUCT: 

- DATA CONTROL BLOCK 

- INPUT / OUTPUT BLOCK 

- CHANNEL PROGRAM 

- EVENT CONTROL BLOCK 

- SEEK ADDRESSES FOR DASD 

CODE: 

- OPEN AND CLOSE MACROS 

- EXCP 

- WAIT FOR EVENT COMPLETION 

- TEST OF STATUS OF COMPLETED REQUEST 
o - HOUSEKEEPING ON DCB.IOB.AND ECB 



~D 



I 



EXCP-MACRO 











LCWT 


■ ! 


I0B 














- •* 


DCB 














DEB 










1 

:cw 


4_ 








UGB 








t 






REQUEST 
ELEMENT 






t 








* 




( 


r 
LIST 


n 












I/O SUPERVISOR 




















o 




O 


T) " 














— 






ECB 




1 " 















SAMPLE EXCP PROGRAM 





} 








OPEN 

Nl 


(DCBIN) 




READ 


ECBIN. X'OO' 


Reset complete bit 




EXCP 


IOBIN 






WAIT 


EC B=EC B P N 






TM 


ECBIN. X7F' 


Successful completion test 




BO 


PROCESS 






TM 


IOBCSW+4.X'0r 


Unit exception test 




BO 


EOF 

-ERROR- 




EOF 


01 


DC BINt48.X'04' 


Tape mark has been read 




CLOSE 


(DCBIN) 




DCBIN 


DCB 


MACRF=(E), DSORG=PS, DDNAME=INPUT 


ECBIN 


DC 


F'O' 




CHANPRG 


CCW 


X'02', INAREA, 0,100 


Read into INAREA a 100 byte block 



o 



I 

o 



IOBIN 



IOBCSW 



FLAGS 
00 1 



SENSE BYTES 



A(ECBIN) 



CHANNEL STATUS 



A(CHANPRG) 



A(DCBIN) 



Set by IOS on unit check 



— Stored by IOS on channel end 



CHANNEL COMMAND WORD 






- 1 J— 

i 4 i 7 


6 31 


37 39 


40 


48 63 






J 








ICOUNT 
IGNORED 












ZEROS 








DATA ADDRESS 


PROGRAM CONTROLLED INTERRUPT 
SKIP FLAG 






COMMAND CODE 


SUPPRESS INCORRECT LENGTH INDICATION 




INFORMATION BIT 


CHAIN COMMAND FLAG 


o 








CHAIN DATA ADDRESS FLAG 



I 



SUMMARY OF COMMAND CODES 



READ 

WRITE 

READ BACKWARD 

SENSE 

TRANSFER IN CHANNEL 



CONTROL I 


SEARCH 


* FEW 


H.A.-EQ 


* RUN 


ID-EQ 


ERG 


ID -HI 


WTM 


ID - EO/HI 


BSR 


KEY-EQ 


BSF 


KEY -HI 


FSR 


KEY-EQ/HI 


FSF 




RELEASE 




RESTORE 




* SEEK 




* SET FILE MASK 





* MUST NOT APPEAR IN USER CHANNEL PROGRAM 



OPF 11-8 



CHANNEL PROGRAM EXAMPLES 

* READING BLOCKS WHERE COUNT AGREES WITH PHYSICAL BLOCKS I ZE. 

CCW X'02\ TAPEAREA, 0, 100 Read 100 byte tape block 

CCW X'02\ CARDAREA, 0, 80 Read card and stack in Pocked 1 

* READING BLOCKS WHERE COUNT DIFFERS FROM PHYSICAL BLOCKSIZE 

CCW X'02', TAPEAREA, X'20', 90 SILI Flag 

CCW X'02'. CARDAREA, X'20', 50 SILI Flag, read part of buffer 

* WRITING TAPE BLOCKS - INCORRECT LENGTH INDICATION MUST ALWAYS BE SUPPRESSED. 

CCW X'Ol', TAPEAREA, X'20', 100 

* PRINTING - SILI MUST BE USED IF BUFFER IS NOT FULLY LOADED 

CCW X'll', PRTAREA, X'20', 95 Double space after printing 
CCW X'89', PRTAREA 0, 132 Skip to 1 after printing 

* CONTROL COMMANDS - COUNT MUST NEVER BE EOUAL TO ZERO 

§ CCW X'8B\ 0, 0, 1 Skip to 1 immediately 

= CCW X'lF', 0,0,1 Write tape mark 



o 



CHANNEL PROGRAM EXAMPLES 

COMMAND AND DATA CHAINING 

READING 3 PHYSICAL BLOCKS FROM TAPE 

CCW X'02\ AREA X"40\ 100 Each block is exactly 100 bytes long. 

CCW X'02', AREA+100, X'40', 100 
CCW X'02', AREA+200, 0,100 

SCATTERING ONE BLOCK INTO MULTIPLE AREAS 

CCW X'02\ A, X'80\ 50 Read 1st 95 bytes of a tape record and 

CCW 0, B, X'80', 20 suppress incorrect length. 

CCW O.C.X'tt'^S 



o 



EVENT CONTROL BLOCK (ECB) 



WAIT 



COMPLETE 



REMAINDER OF 
COMPLETION CODE 





31 



7F000000 _| 


*• 






WITHOUT ERROR 


41 OOOOOO 


• 






PERMANENT ERROR 


42000000 


V 






VIOLATION D/A EXTENT ADDR. 


44000000 




v' 




PERMANENT ERROR 


48000000 






«s 


REQUEST ELEMENT AVAILABLE 


4F000000 






>s 


DIRECT ACCESS ERROR 


o 











o 



I 



PROGRAMMING FOR DASD 

PROGRAMMER RESPONSIBILITIES: 

• ISSUING OPEN, EXCP, AND CLOSE MACROS 

• CONSTRUCTING IOB, INCLUDING SEEK ADDRESS 

• CONSTRUCTING CHANNEL COMMANDS AND COUNT OR 

SEARCH FIELDS IN CORE 

• EXTRACTING EXTENT BOUNDARIES FROM DEB 

• UPDATING CYLINDER, HEAD, AND RECORD NUMBERS 

IN SEEK ADDRESS 

• ON END -OF -EXTENT, RE-INITIALIZING SEEK ADDRESS 

TO BEGINNING OF NEXT EXTENT 

• RECOGNIZING EOF ON INPUT FILES 

• BUILDING DCB FILE MARK ADDRESS FOR AN OUTPUT 

FILE PRIOR TO CLOSE 



o 



DASD PROGRAMMING EXAMPLES 



X READING 100 BYTE DATA RECORDS WITHOUT KEYS 



IOB 



SEEKADDR 



A(CHANPROG) 

M BB CC HH R 
00 25 02 1 



ICAREA 



DS 25 F 



CHANPROG CCW X'3l\SEEKADDR+3,X'40\5 Search ID » and 

chain commands 



CCW X'08\*-8,0,0 
CCW X'06' f IOAREA, 0,100 



EXCP IOB 



Transfer in channel 

Read 100 Byte data 
area 



CO 



DASD PROGRAMMING EXAMPLES 



*■ LOADING 100 BYTE DATA RECORDS WITHOUT KEYS 



IOB 



SEEKADDR 



A(CHANPROG) 

M BB CC HH R 
00 25 02 



DISKAREA 

DATA ARE A 
CHANPROG 



- RECORD tf-IN SEEKADDR IS 1 
LOWER THAN RECORD I D TO BE 
WRITTEN 



o 



CC HH R KL DL 
DS D |25 02 1 100| 

DS CL 100 

CCW X'3l\ SEEKADDR + 3, X'40\ 5 

CCW X'08\* -8,0,0 

CCW X , 1D',DISKAREA,X'20',I0 8 

EXCP IOB 



Search I D s , Immediately 
preceding record 
transfer in channel 
Write count and data 

following next address 
marker 



i 



DEBUGGING CONCEPTS Topic III 

Suggested Sequence: Reference 

A. Introduction 

This topic concerns the study of a ABEND Dump 

consisting of three load modules ABLE, BAKER, and 

CHARLIE. Their relationship to one another is Appendix 15 

interpreted in figure 1 of Appendix 15. The "ABDUMP 

DEBUGGING PROCEDURES 1 ' should be used as the primary 

text for discussion of System Control Flow, RB 

Queues and Trace AREAS. 

The Student Project on Systems Debugging contains 
32 questions which will give the student a fairly 
comprehensive study of the information contained 
in an ABDUMP. These questions are designed to be 
used in the classroom or as an outside project. 
When used in the classroom the instructor should 
give a brief introduction to each section and then 
allow student time to develope his answers. 
At the completion of a section the 
instructor should summarize the important points 
that should have been discovered by the student. 

It is important that the students be given a chance 
to study the dump without expensive instructor 
guidance. This will aid him in learning the 
fundamentals of the structure of the dump. 



INSTRUCTORS' NOTE: 

This section should serve as a review of OS/360 LOGIC 
FLOW topic. 



B. Requirements for obtaining an ABDUMP. 

1. Assign questions 1 and 2. 

2. Discuss under what conditions SYSABEND DD 
statement would be included. 

C. Device allocation. 

1. Assign questions 3 thru 8. 

2. Discuss the following control blocks, 
their function, and describe when they 
were created. 



4.3.1 



Topic III (Cont,d.) 
Suggested Sequence: Reference 

a) TIOT 

b) DEB 

c) DCB 

D. Contents supervision. 

1. Assign questions 9 thru 24. 

2. These questions concentrate on the size 
of the nucleus, size of partions, and the 
two RB Queues that make up the Contents 
Directory for Option 1 of OS/360 (PCP) . 

E. Save Area Trace. 

1. Assign questions 25 thru 27. 

2. Discuss the value of forward chaining of the 
Save Area. 

3. Discuss the advantages and disadvantages of 
using the DD field of the LINK and SAVE 
macros. 

4. Frequently word 00 (word where Register 
normally stored) of the SAVE AREA pointed 

to by register 13 will have a valid address. 
Because Register is a parmeter passing 
register it seldom contains a valid address, 
therefore when word 00 of SAVE AREA has a 
valid address it usually means that a branch 
was taken to an access routine. In these 
routines they issue a STM 14, instruction 
for the registers they are going to 
use. They store them in the 00 location 
of the current Save Area. Therefore, word 
00 contains the contents of register 14^ 
which is the return to the program that 
called the access routine. This address 
can be used as a checkpoint in identifying 
how far the program had proceeded if the 
Resume PSW did not have a valid address 
with which to work. 

F. Control of Program Interrupts. 

1. Assign question 28. 



4.3.2 



Topic III (Cont,d.) 

Suggested Sequence: Reference 

2. An important area to stress is testing 
to see if a previous SPIE macro has been 
issued, if it has the pointer to the 
PICA must be saved and PIE must be reset 
to point to this PICA upon exiting the 
current routine. 

G. Trace Table. 

1. Assign questions 29 and 30. 

2. Discuss the value of the Trace Table. 
Emphasize the amount of care it requires and 
the benifits derived from it. 

H. Locate and identify the Control Blocks associated 
with Data Control Blocks. 

1. Assign questions 31 and 32. 

I. Compar* AB DUMP with Indicative Dump. 

1. When is an Indicative Dump provided? 

2. What is its value compared to a ABDUMP? 



INSTRUCTORS' NOTE: 

Refer to OS Messages, Completion Codes and Storage Dumps 
(C28-6631) page 287, to discuss the answers to the above 
two questions. 



4.3.3 



SVC ROUTINES Topic IV 

Suggested Sequence: Reference 

A. Introduction 

1. Incorporated into the hardware of the System/360 OPF IV-1 
is a Supervisor Call (SVC) instruction. This 
instruction causes an interrupt with the OLD 

SVC PSW stored. The SVC code number, in the 
range from to 2 55, and writtin in the operand 
field of the SVC instruction is placed in the 
fourth byte of the OLD SVC PSW for subsequent 
retrieval and use. 

2. The software implementation of this hardware 
feature (SVC) is arbitrary and can be designed 
in many imaginative and creative ways. In our 
discussion, however, we shall consider only 
how the SVC software is implemented in the 

360 Operating System (OS). 

3. Because of the fact that SVC routines (rou- 
tines called by a given SVC number) can be an 
integral part of the resident control program, 
one is not as free in writing routines of this 
type as in writing a separate programming rou- 
tine to be executed separately from its loca- 
tion in LINKLIB. 

4. The SVC routine and the SVC library concept 
allow the resident control program to be much 
shorter than would otherwise be possible with 
a completely resident system, allow standard- 
ized and generalized routines to be always 
available but not included in every program 
which needs them; and further, allow the pro- 
gram to be executed in supervisory mode, thus 
reducing the restrictions normally associated 
with the problem state of the machine. 

5. In this section we shall consider: 

a. The fundamental concepts. 

b. The placing of a routine in SYS1.SVCLIB 
library. 

c. The options which may be exercised at 
SYSGEN time. 

d. The writing of an SVC routine of the 
various types. 



4.4.1 



Suggested Sequence: 
e. 



Topic IV (Cont'd.) 
Reference 



Limitations, restrictions and over-all 
concept and understanding shall be 
stressed. 



B. Fundamental Concepts and Terminology 

1. Writing the SVC 

Routines are called from the SVC library 
(actually the SYS1.SVCLIB cataloged and par- 
titioned data set) by giving the following 
instruction: 

SVC n 

where: n is the decimal SVC code number 
from to 2 55. 

2. IBM Reserved SVC Code Numbers 

The numbers (n) from to 199 have been re- 
served for IBM generated SVC routines. The 
numbers 0-69 are in current use. 

3. User Reserved SVC Code Numbers. 

The numbers (n) from 200-255 (56 in total) 
are reserved for user SVC routines and are 
to be allocated backward, starting with 255 
and allocating toward 200. 

4. The Prefix Table 

a. A single byte (8 bit) index pointer entry 
table is used to convert SVC code numbers 
to SVC table entries at SVC execution 
time. 

b. A maximum of 256 possible table entries 
is possible (one for each SVC code number 
in current use) . 

c. These entries are generated at SYSGEN time 
based on the SVCTABLE parameter specifi- 
cations . 



OPF IV- 2 
and IV- 3 

Appendix XX 



4.4.2 



Suggested Sequence: 

5. The SVC Table 



Topic IV (Cont'd.) 
Reference 



a. Format of Section 1 of SVC Table 

1) Twenty-one (21) high order bits of 
a twenty-four (24) address pointer. 

2) A three (3) bit field designating 

1 to 6 double-word extended storage 
areas in the Supervisor Call Request 
Block (SVRB) . The pointer in reg- 
ister 5 indicates where the SVRB is 
located. This area of a maximum of 
48 bytes of additional storage area 
for routine use is displaced by 96 
from the starting of the SVRB Block. 
Thus, if one desires access to the 
first word, an L n, 96 (5) instruc- 
tion would be appropriate. 

b. Format of Section 2 of SVC Table 



1) 



Normally, a three (3) bit field 
designating 1 to 6 double word 
extended storage areas in the request 
block (SVRB). These 3 bits are in 
the low order part of a byte, the 
high order 5 bits being zero. The 
number in the byte is actually one 
greater than the number of double 
words requested, therefore, when no 
reservation is made a one (1) is 
present and when 6 double words are 
requested (48 bytes) , a 7 in hexa- 
decimal (or 00000111) appears in the 
byte. 



2) 



Or, if the TRSVCTBL option is 
selected in the SUPRVSOR macro at 
SYSGEN time, a four (4) bytes field 
containing a ten (10) bit track 
address (TT) , an eight (8) bit 
record number (R) , an eleven (11) 
bit length (1) , and a three (3) bit 
extended storage area (ESA) field. 
This section of the SVC Table re- 
sides in core and is created during 
the Nucleus Initiation Program (NIP) 
after each IPL. 



Appendix XXV 



4.4.3 



Suggested Sequence: 

6. Residence for SVC Routines 
a. 



Topic IV (Cont'd.) 
Reference 



As a member of a cataloged, partitioned 
data set on the systems residence device 
(SYS1.SVCLIB). 

b. Or, as a resident SVC routine in the pri- 
mary control program (PCP) area. 

Types of SVC Routines OPF IV-4 

a. Type 1 - resident, serially-reusable, 

non- inter rup table. 

b. Type 2 - resident, re-entrant, interrupt- 

able. 

c. Type 3 - non-resident, re-entrant, single 

module, interruptable. 

d. Type 4 - non-resident, re-entrant, multi- 

ple modules, interruptable. 

Review and/or redefinition of serially-reus- 
able and re-entrant. 

a. Serially-reusable 

A routine designed and written in such a 
manner so that the routine normally re- 
sets all modified areas before it exists. 

b. Re-entrant 

A routine designed so that the routine 
can be interrupted and continued at any 
point without catastrophic results. 

Naming Conventions for SVC Routines 3 

a. Type 1 - IGCnnn OPF IV-5 

Type 2 - IGCnnn 



b. 
c, 

d. 
NOTE: 



Type 3 - IGCOOnnn 

+ 

Type 4 - IGCssnnn 

The above names are the member names 



4.4.4 



Topic IV (Cont'd.) 

Suggested Sequence: Reference 

which are used in cataloging the SVC into 
the SYS1.SVCLIB data set. nnn is the SVC 
code number and ss is the module order 
number (01 for the second module) . Since 
the system constructs these names from 
the SVC in instruction, it is absolutely 
necessary that the SVC programmer place 
into the SVCLIB a routine which is named 
properly so that it can be retrieved when 
desired. 

10. Routines specifically included in system to 4 

support SVC instruction and SYS1. SVCLIB data Appendix XXI 
set. 

a. Resident (in PCP) 

1) SVC First Level Interrupt Handler 
(FLIH). 

2) SVC Second Level Interrupt Handler 
(SLIH). 

3) Type 1 Exit 

4) EXIT (SVC 3) 

b. Part of NIP (optional) 

The TTR SVC Table Initiation routine for 
transient (non-resident) SVC types. 



INSTRUCTORS 1 NOTE : 

At this point the functions and logical flow of the rou 
tines to support the SVC system can be undertaken. How 
ever, the routines are somewhat sophisticated and any 
effort to cover them should be done with full knowledge 
of the interest and capabilities of the student body as 
well as their probable use of the information. 



C. Why have SVC Routines? 

1. Allow a smaller primary control program (PCP) 
than otherwise possible. 

2. Allow execution of routines in "supervisory" 
state avoiding "problem" state limitations. 

3. Allow a generalization, standardization and 
availability of often-used routines and/or 
programming procedures. 



4.4.5 



Topic IV (Cont'd.) 
Suggested Sequence: Reference 

D. Understanding How the SVC System Functions 4 

1. An interrupt takes place. 

2. SVC interrupts transfers to the SVCFLIH rou- Appendices 
tine with all interrupts (except machine check) XXII, XXIII, 
disabled. XXIV 

3. A check is made for Type 1 .or other routine 
requested. 

4. On Type 1, the registers are stored, the trans- 
fer address is retrieved for the SVC Table, 

Section 1 by use of the index pointer of the OPF IV-5 6 
Prefix Table. Return is made from Type 1 rou- and IV-7 
tines by a BR 14 instruction. Therefore, 
Type 1 routines must Save and Restore Register 
14 if used by the routine itself. 

5. On Types 2, 3 and 4 SVC routines, Saved reg- 
isters are moved to the TCB. An SVRB is con- 
structed using ESA definitions from the SVC 
table . 

6. On Type 2 SVC routines, the SLIH routine stores 
requestor's PSW in the current RB, develops 
the transfer address and initializes it in the 
SVRB and queues the SVRB into the active RB 
queue. Return is made by either a BR 14 or 
SVC 3 (EXIT). 

7. On Type 3 and Type 4 SVC routines, the SLIH 
Type 3 section stores requestor's PSW in cur- 
rent RB, examines SVC Table, extracts ESA 
field and creates and initializes SVRB. If 
routine is not already in transient area, 
FINCH routine (combination of BLDL and FETCH) 
is called to retrieve it and place it in the 
transient area. 

8. Normal return for Type 3 routines is BR 14 or 
SVC 3 (EXIT). Generally speaking, the SVC 3 
is safer. 

+ 

9. Normal exit for Type 4 modules is XCTL IGCSSnnn 
for all modules except the last. On the last 
module SVC 3 (EXIT) is the best way to leave 
routine and terminate entire SVC procedure and 
return to the calling program just beyond the 
SVC which started the procedure. 



4.4.6 



Topic IV (Cont'd.) 
Suggested Sequence: Reference 

E. Writing the SVC Routine 

1. Writing Type I Routines 

a. This type of routine must be incorporated 5 
at systems generation (SYSGEN) time using 

the RESMODS macro. 

b. Its control section must be properly 
named. For example, a user Type 1, resi- 
dent, non-interruptable routine for SVC 
code number 255 would be IGC255. 

c. An entry must be placed into the SVC Table 
using the SVCTABLE SYSGEN macro. For 
example, to include a user SVC entry for 
code 255, Type 1 and no ESA areas would 

be accomplished by the following macro: 

SVCTABLE SVC-255-T1-S0 5 

d. Program should either be re-entrant or 
serially reusable. 

e. Program should be terminated with a BR 14. 

2. Writing Type 2 Routines 

a. Must be incorporated at SYSGEN time using 

the RESMODS macro. 5 

b. Debugged, cataloged, partitioned data 
set must be on a library. 

c. An SVCTABLE card such as the following 
must be used: 

SVCTABLE SVC-255-T2-S6 

d. Program must be re-entrant. 

e. EXIT from routine must be through a BR 14 
or SVC 3 (EXIT). 

3. Writing Type 3 Routines 

a. Entries in SVC Table must be made at 
SYSGEN time. 

b. After debugging: assembled and link 
edited partitioned data set may be placed 



4.4.7 



Topic IV (Cont'd.) 

Suggested Sequence: Reference 

on SYS1.SVCLIB data set by 
DDNAME=SYS1.SVCLIB (IGC0025E) in the 
SYSLMOD DD card. 

c. Program must be written re-entrant. 

d. Exit from routine must be by an SVC 3 
(EXIT). 

4. Writing Type 4 Routines 

a. Entries must be made in SVC Table at 
SYSGEN time. 

b. Routines should be assembled, link 
edited and run as an entity if at all 
possible . 

c. Then, routines should be assembled, link 
edited and placed on the SYS1.SVCLIB data 
set under their proper names. 

d. Normal return for each module is by an 
XCTL IGC0125E (next module). Last module 
should return by an SVC 3 (EXIT). 

F. Representative Problems and Examples 

1. WTO/WTOR (SVC 35 Type 3 Routine) Example Appendix XXVI 

2. FIND/BLDL (SVC 18 Type 2 Routine) Example Appendix XXVII 

3. STOW (SVC 21 Type 3 Routine) Example Appendix XXVIII 

G. SVC Writing Checklist 

1. Is the control section properly named? IGC255 
or IGC0025E for Type 1 and 2 or Types 3 and 4 
respectively. 

2. Does program start with first byte? (No con- 
stants or control blocks up front.) 

3. Types 2, 3 and 4 must be re-entrant. All 
locations which must be modified must be built 
in a GETMAIN dynamic storage area" Modules 
may be tested for being re-entrant by using 
TESTRAN and the dump CHANGES macro or RENT 
parameter of F ASSEMBLER. 

4. Do Type 1 routines terminate with a BR 14? 

Do Type 2, 3 and last module of Type 4 routines 



4.4.8 



Topic IV (Cont'd.) 

Suggested Sequence: Reference 

terminate with an SVC 3 (EXIT)? Do other ♦ 
Type 4 modules terminated with an XCTL IGCssnnn 
where ss is module name and nnn + is SVC code 
number? 

H. Placing an SVC Routine in SVC Library 

1. Directly 

By specifying DDNAME=SYS1 .SVCLIB (member name) 
in SYSLMOD card. Thus, a Type 3 routine would 
be written as follows: 

//SYSLMOD DD DSNAME=SYS1 .SVCLIB(IGC0025E) 

for SVC 2 55 Type 3 routine. 

2. By copying and inserting a tested module from 7 
another data set. 

Considerations in copying the SVCLIB. The 
moving or copying of this library should be 
done with caution due to the fact that the 
system is using this library concurrently while 
it is making a fresh copy. After building a 
new SVCLIB, it is not usable until a program 
call IEHIOSUP is run. 

The function of this program is to update TTR's 
in the Transfer Control Tables in some of the 
Data Management modules. Because there are 
absolute track addresses in these mcdules, 
the SVCLIB is marked unmovable. When using 
the MOVE function of IEHMOVE, the source data 
(or old SVCLIB) is scratched. For this reason 
and because IEHIOSUP must be run before you 
IPL and use the new SVCLIB, it is not a good 
idea to use this method. 

The following discussion describes how this 
can be accomplished using the "COPY" function 
of IEHMOVE. (Only cards that are not self- 
explanatory and are unique to this operation 
will be explained.) 

Card 

3 Space is allocated for the new copy of OPF IV-8 

SVCLIB temporarily named SVCLIB2. 

VOLUME=SER=SYSRES is important because 

the SVC library must be on the system 

residence pack. 



4.4.9 



Topic IV (Cont'd.) 

Suggested Sequence: Reference 

Card 
5 A DD card is required for the Data Set 
from which you are going to merge the 
new module. 

9 Control card for IEHMOVE instructing it 
to copy the current SVCLIB to SVCLIB2. 

11 Control card instructing IEHMOVE to merge 
module "NEWSVC" into SVCLIB2. 

13 IEHIOSUP is executed to update the abso- 
lute track address in the transfer control 
tables in the data management modules in 
SVCLIB2. 

16 IEHPROGM is run to scratch the old 

SYS1. SVCLIB and to rename SVCLIB2 to 
SYS1. SVCLIB. 

23 Now that the new SVCLIB is ready to use, 
the user must IPL so that NIP will open 
the new library and the system will use 
it for all of its future loading of SVC 
routines . 

3. SVCLIB Macro Instruction 7 

a. Names the members of a PDS to be added 
to SYS1 . SVCLIB during the system genera- 
tion process. 

b. Applies to Types 3 and 4 only. 

c. The user may add his module to SVCLIB 
later - through LINKEDIT: 

//SYSLMOD DD DSNAME=SYS1 .SVCLIB 

OR THRU UTILITIES: 

MOVE (or COPY) PDS 

INCLUDE (New member) 

d. Format of operands is the same as in 
RESMODS, though here the member names 
must be strictly defined. 

e. Example: To insert a Type 3 SVC routine 

with code number 2 54, 

SVCLIB PDS=SYS1.SET,MEMBERS=(IGC0025D) 



4.4.10 



Suggested Sequence: 
I. Considerations 

1. Resident or Non-resident 

Re-entrant construction 

Routine naming 

Entry point positioning 

Terminating methods 



Topic IV (Cont'd.) 
Reference 



2. 
3. 
4. 
5. 
6. 



Use of SVCTABLE, RESMODS and SVCLIB macros 
at SYSGEN time. 



7. Writing and debugging 

8. Cataloging into SYS1. SVCLIB 

9. Moving or Copying into SYS1 . SVCLIB. 

J» Practice Problem 



OPF IV-9 

OPF IV-10 
and IV-11 



INSTRUCTORS 


1 NOTE 


: 










During 


the 


OS/360 


Work Shop the i 


student 


writes 


an SVC 


Type II 


for 


the accounting routine and also writes a 


non-standard labe 


1 routine which 


goes into 


the 


SVCLIB 


and has 


the 


same 


restrictions as 


a Type 


3 or 4 


SVC. 


Because 


of 


this , 


no additional p- 


ractice 


is 


required for 


SVC's. 

















4.4.11 



TOPIC IV 
REFERENCES 




:ference 

CODE 



40 



13 
13-14 

12-16 
15-26 



47 
46 



4.4.13 



SVC ROUTINES IN DISTRIBUTED SYSTEM 



#* 



TYPEl 

EXCP (00) 
WAIT (01) 
POST (02) 
EX IT (03) 
GETMAIN(04) 
FREEMAINI05) 
DELETE (09) 
GETMAIN/ 

FREEMAIN (10) 
TIME (11) 
TTIMER (46) 



TYPE 2 

LINK (06) 
XCTL (07) 
LOAD (08) 
SYNCH (12) 
BLDL (18) 
OVERLAY 

SUPERVISOR (37) 
RESIDENT SVC (38) 



TYPE 3 

SPIE (14)* 

EXTRACT (40)* 
IDENTITY (41)* 
ATTACH (42)* 
ERREXCP (15) 
PURGE (16) 
RESTORE (17) 
STOW (21) 
TRACK 
BALANCE (25) 
OBTAIN (27) 
RENAME (30) 
WTO (35) 
CIRB (43) 
TTOPEN1 (49) 
SAVE (61) 

RDJFCB(64) 
BACKSPACE (69) 



TYPE 4 

ABEND (13) 
OPEN (19) 
CLOSE (20) 
OPENJ (22) 
TCLOSE (23) 
CATALOG (26) 
CVOL (28) 
SCRATCH (29) 
EOV (31) 
ALLOCATE (32) 
EXCP-MASTER (34) 
ABDUMP (51) 
EOV (55) 



o 



< 

I 



* Optionally, can be Type 2 

** fKHfin RpIp;kp#1 



TABLES USED BY SVC 
AND THEIR FUNCTION 



TABLE 



I. PREFIX 



2. SVC TABLE 
SECTION 1 



3. SVC TABLE 
SECTION 2 

(NO TRSVCTBL 
OPTION IN 
SUPERVISOR 
MACRO). 

SVC TABLE 
SECTION 2 

(A TRSVCTBL 
OPTION ENTRY 
IN THE SUPER- 
VISOR MACRO). 



SIZE/ENTRY 



SINGLE BYTE 



ENTRIES (MAX.) 



256 



3 BYTES 



VARIABLE (21 IN 
DISTRIBUTED 
VERSION) 



1BYTE 



VARIABLE (25 IN 
DISTRIBUTED 
VERSION) 



OR 



FUNCTION 

INDEX POINTER 
TO SVC TABLE 
SECTION 1 OR 
SECTION 2 

(DA 24 BIT AD- 
DRESS OF EN- 
TRY POINT OF 
RESIDENT ROU- 
TINE 

(2)A 3 BIT FIELD 

DESCRIBING THE 
NUMBER OF ESA 
DOUBLE WORDS 

(3)ASINGLE BIT 
IDENTIFYING 
ROUTINE AS 
TYPE 1 OR 2 

A3 BITFIELD 
DESCRIBING THE 
NUMBER OF ESA 
DOUBLE WORDS 



4 BYTES 



VARIABLE (NOT IN (l)AIOBITTT 



DISTRIBUTED 
VERSION) 



FIELD 

(2)A8BITR 

FIELD 

(3) All BIT L 

FIELD 

(4) A 3 BIT ESA 

FIELD 



OPF IV-2 



RELATIONSHIP BETWEEN SVC, PREFIX TABLE AND SVC TABLE 



O 

"TJ 

-n 
< 

CO 



IBM SVC TYPE 10R2 




IBM SVC TYPE 30R4 




USER SVC TYPE 1 OR 2 



\ 

69 
255 




; 



USER SVC TYPE 3 0R4 




PREFIX 
TABLE 



200 



SECT 1 SVC TABLE 




21 



21 BIT ADDRESS 



ESA 



21 



+• 21 BIT ADDRESS 



ESA 



- 3 BYTE 
ENTRIES 



SECT 2 SVC TABLE 



10 


8 II 


3 


TT 


R 


L 


ESA 


10 


8 II 


3 


TT 


R 


L 


ESA 


«— 


^BYTE- 
ENTRIES 


— * 



o 

"V 

-n 

< 

i 



SVC ROUTINE TYPE VERSUS ROUTINE CHARACTERISTICS 



ROUTINE TYPE CHARACTERISTICS 



TYPE 1 SERIALLY REUSABLE OR REENTRANT, NON- 

INTERRUPTABLE 

TYPE 2 REENTRANT, INTERRUPTABLE 

TYPE 3 REENTRANT, INTERRUPTABLE, SINGLE ROUTINE 

LESS THAN OR EQUAL TO 1024 BYTES. 

TYPE 4 REENTRANT, INTERRUPTABLE, n ROUTINES LESS 

THAN OR EOUAL TO 1024 BYTES. ENTERED BY 
XCTL MACRO. 



ASPECTS FOR CONSIDERATION 
IN WRITING SVC ROUTINES 

(1) Use proper control section name 
IGCnnn CSECT Type 1 and 2 

or 
IGCOOnnn CSECT Type 3 

or 
IGCssnnn CSECT Type 4 

(2) Use proper return or exit 

BR 14 All types if register 14 has been saved 

XCTL IGCssnnn All but last load module of Type 4 routines 

SVC 3 Calls EXIT routine. Types 2, 3 and last load module 

of Type 4. 

(3) Do not modify instructions or data in the routine itself. Instead, use 
o register storage and/or GET/VIA IN macro. 



-a 
-n 

< 

i 



ROUTINES IN SUPERVISION 
TO SUPPORT SVC 

(1) SVC FLIH Routine 

(2) SVC SLIH Routine 

(3) TYPE1 EXIT Routine 

(4) EX IT Routine (used by Types 2, 3 and 4 programs) 



OPTIONAL ROUTINE IN 
NUCLEUS INITIATION PROGRAM (NIP) 

(1) SVC Table (TTR) Initiation Routine 



o 

-n 

< 

o 



RELATIONSHIP BETWEEN SVC 





SYS1.SYSLIB AND TRANSIENT AREA 










SVC 255 


RESIDENT 




i 


r 




CONTROL 
PROGRAM 




READ INTO TRANSIENT 
AREA MODULE I6C0025E 








i 


r 






SYS1. SVCLIB 
DATA SET 




SVC TRANSIENT 
AREA 






o 

~n 

< 

i 

^1 











o 



//UPDAT 
//STEPA 
//A 

II 

/IB 

//SYSUT 

//SYSPR 

//SYSIN 



E JOB 
EXEC 
DO 

00 
I 00 
INT DO 

OD 
COPY 



999,f*RN f MSGLEVEL = l 

PGM^IEHMOVE 

DSNAME=SVCLIB2,DISP*(NEW,KEEP) ,SPACE= <CYL, ( 13 » » 50) ) , 

UNIT=23ll,V0LUME=SER=SYSRES 

DSNAME=USERLIB,DISP*OLD 

DSNAME = SYSULINKLIB f DISP«OLD 

SYS0UT=A 



PDS=SYS1.SVCLIB,T0*2311=SYSRES, 
FROM = 23 11 = SYSRES, RENAME = SYC LI B2 
INCLUDE DSNAME=USERLIB,MEMBER=NEWSVC 



I* 

//STEPB 

//SYSUT 

//SYSUT 

//STEPC 

Ilk 

//SYSPR 

//SYSIN 



/» 



EXEC 

1 DO 

2 DD 
EXEC 
00 

INT 00 
00 
SCRATCH 
RENAME 

IPL 



PGM=IEHIOSUP 

DSNAME=SVCLIB2,DISP=(0LD,KEEP) 

DSNAKE=SVCLIB2 f DI SP^COLD ,KEEP) 

PGM=IEHPROGM 

DSNAME = SYSKLINKLIB,DISP=OLD 

SYSOUT=A 

• 

SYSl.SVCLIB f V0L=231i=SYSRES 
DSNAME*SVCLIB2tV0L*23ll=SYSRES f NEWNAME= 



SYSl.SVCLIB 



FROM 



SYSRES 



*•*»»**•»•»*»••*•**•*•••***»*•«•*•••••• 



1 
2 

3 

4 

5 

6 

7 

8 

9 

10 

11 

12 

13 

14 

15 

16 

17 

18 

19 

20 

21 

22 

23 



< 

i 

00 



o 

-n 
< 



SVC CHECKLIST 



(1) IS CONTROL SECTION NAMED PROPERLY? 

(2) IS THE FIRST LOCATION OCCUPIED BY THE FIRST BYTE 
OF THE FIRST INSTRUCTION? 

(3) DOES ROUTINE CAUSE ITSELF TO BE OVERLAYED WITHOUT 
BEING REENTRANT? 

(4) ARE ANY LOCATIONS MODIFIED IN THE PROGRAM FOR 
TYPES 2, 3 and 4? 

(5) IS PROPER EXIT USED? 



o 

T3 



< 

I 



REGISTER POINTERS ON ENTERING AN SVC ROUTINE 



REGISTER MEANING 



3 Communication Vector Table (CVT) Pointer 

4 Task Control Block (TCB) Pointer 

5 Supervisor Request Block (SVRB) Pointer for 
Types 2, 3 and 4. Last Active Request Block 
for Type 1 Routines 

14 Contains return address 



0, 1, 15 Used for passing information between routines. 

Not restored. 



MAIN POINTS IN WRITING SVC ROUTINES 



o 



PROPER 
NAME 



• -IGC0025E 



USE REGISTER — 
AND GETMAIN — 

STORAGE ONLY 



CSECT 

LA 



2,20 



LR 3,0(9) 

GETMAIN R,LV=n 



BR 14 OR SVC 3 



FIRST 
INSTRUCTION 



PROPER EXIT 



< 

i 



ACCOUNTING ROUTINES 



Suggested Sequence: 
A. Introduction 
1. 



Topic V 
Reference 



3. 



An accounting routine can be incorporated into 
the system for automatic recording of time and 
account number by job and/or job step. 

Control is passed to the accounting routine at 
job and job step termination. 

Up to 144 characters of accounting data can be 
passed from the JOB or EXEC statement. 



B. 



How to Write an Accounting Routine 

1. Entry Linkage 

a. The entry point in the accounting routine 
must be named IEFACTRT. This name can be 
supplied in a CSECT statement or ENTRY 
statement. 



OPF V-l 

OPF V-2 

II 



b. 



A store-multiple instruction is issued to 
save the contents of registers 0-14. 
Register 13 contains the address of a 
register save area of 18 full words. The 
SAVE macro can be issued. 



[SAVE 



(14,12)] 



2. Parameters passed to the accounting routine. OPF V-3 

2 
a. Register 1 contains the starting address Appendix X 
of a list of seven pointers. Each pointer 
is 4 bytes long and begins on a full word 
boundary. 

1) Pointer 1 contains the address of 
the job name, which is located in an 
8 byte field, left-adjusted with 
trailing blanks, EBCDIC coding. 

2) Pointer 2 contains the address of the 
step name, which is located in an 8 
byte area, left-adjusted with trail- 
ing blanks, EBCDIC coding. 

3) Pointer 3 contains the address of a 
20 byte area into which has been 
placed the programmer's name, left- 
adjusted with trailing blanks, EBCDIC 
coding. 



4.5.1 



Suggested Sequence: 

4) 



5) 



6) 



7) 



Topic V (Cont'd.) 
Reference 



b. 



Pointer 4 contains the address of a 
4 byte area. 

a) The first three bytes are used 
to hold job running time. This 
will be provided by the system 
if option 4 and interval timing 
were selected at system genera- 
tion. This field will be in 
packed format HHMMSS, (hour, 
minute, second) . Without timing 
incorporated into the system, 
this field will contain zeroes. 

b) The fourth byte will contain a 
binary count of the number of 
fields passed to the accounting 
routines in the JOB statement. 

Poi nter 5 contains the address of the 
JoT> accounting data fields from the 
JOB statement. The fields are vari- 
able in length and contiguous in 
storage. The first byte of each 
field contains a binary count of the 
number of data characters to follow. 
The last data field is followed by a 
byte of zeroes. 

Pointer 6 contains the address of a 
4 byte area, of which the first three 
bytes will contain step running time 
with the same restrictions as 4) 
above. The last byte will contain a 
binary count of the number of step 
accounting data fields. 

Pointer 7 contains the address of the 
area of step accounting data fields 
from the EXEC statement. The fields 
are variable in length and contiguous 
in storage. The first byte in each 
field contains a binary count of the 
number of data characters to follow. 
The last data field is followed by a 
byte of zeroes. (This pointer is 
zero when the job is terminated.) 



Register 12 contains the address of a 
message queue block. This block can be 
used for output to the standard system 
output device. 



4.5.2 



Topic V (Cont'd.) 

Suggested Sequence: Reference 
3. Output from the accounting routine. 3 

a. Console messages - can use WTO or WTOR OPF V-4 



b. System Output 

1) Register 12 must contain the same 
value as when the routine was entered. 
(It points to the message queue block, 
which is to be provided with the 
length and address of the date to be 
written. See System Programmer's 
Guide.) 

2) Register 13 must contain the address 
of an area of 18 full words. 

3) The standard system output writer 
routine (IEFYS) can be used. 



OPF V-5 
OPF V-6 



INSTRUCTORS 1 NOTE: 

These are the only types of output available when the 
accounting routine is in storage. It is brought in as 
part of the job scheduler, so it would not be possible 
to OPEN and CLOSE a data set. OPEN and CLOSE could be 
simulated by the programmer by providing necessary con- 
trol blocks (JFCB, TIOT, etc. and making appropriate 
changes to them as needed. 



4. 



Exit Linkage 
a. 



b. 



Register 13 must be restored to point to 
the system's SAVE area. 

A RETURN macro can then be issued to re- 
store the registers and branch back. 



5. 



OPF V-7 



L 13,SAVE13 
RETURN (14,12) 
Programming Considerations 

a. The programmer may issue the TIME macro 
to obtain date and clock time of day. 

b. The programmer should not issue the STIMER 
macro. Since this routine is a part of 
the job scheduler, exit from the routine 
will force reset of the time interval just 
set . 



4.5.3 



Suggested Sequence: 



Topic V (Cont'd.) 
Reference 



c. A new copy of the accounting routine is 

read into storage at step termination time 
and job termination time. This means that 
data cannot be stored within the routine 
for use at another time. 



INSTRUCTORS' NOTE: 

The following should be discussed at the instructor's dis- 
cretion. An extensive knowledge of the O.S. Internals is 
assumed. 



d. Passing of parameters may be accomplished 
in either of two ways. 

1) Resident SVC routine - the accounting 
routine can issue an SVC instruction 
and cause control to pass to an SVC 
routine which is part of the nucleus. 
Data could be retained in this por- 
tion of main storage. This would 
have to be a type 1 - SVC. 

a) Type 1 - SVC routines are 
assumed to be re-entrant or 
serially reusable. Data can be 
saved and reset by program self- 
modification or IPL. 

b) Programming the SVC - routine. 

May not allow interrupts 
during execution. 

May not issue other SVC 
instructions. 

Exit using register 14. 

Parameters may be passed 
to the SVC routine using 
registers 0, 1, 13 and 15. 

Registers 2-14 are saved 
before control is passed 
to the SVC routine and re- 
stored when the return is 
made. 

c) SVC routine must be included at 
System Generation time. 



4.5.4 



Suggested Sequence: 

2) 



Topic V (Cont'd.) 



The system data set SYS1. SYSJOBQE 
can be used for temporary storage. 
The Table Store Subroutine (p. 37 in 
Job Management P.L.M.) can be used 
to assign tracks and read and/or write 
176 byte records. The tracks are 
assigned only for the duration of a 
single job. Since SYSJOBQE is 
cleared between jobs, it cannot be 
used to retain job to job timing in- 
formation. 



Reference 



C. How to Incorporate Into the System 

1. At system generation time the user must specify 
that he has an accounting routine to incorporate 
by inserting in the SCHEDULR macro the parameter 
ACCTRTN«SUPPLIED. 



2. The user-written routine can be link edited 
into the system at either of two times. 

a. Before SYSGEN - link edit into the system 
module library (SYS1 .MODLIB) to replace 
the existing module IEFACTRT. 

b. After SYSGEN - link edit into the link 
library (SYS1 .LINKLIB) to replace the 
control section IEFACTRT which is in the 
modules IEFZA and IEFYN. 



OPF V-8 



OPF V-9 
OPF V-10 



D. 



Student Problem 



Appendix XI 



4.5.5 



TOPIC V 
REFERENCES 




REFERENCE 
CODE 



1 46 

2 46 

3 47 



4.5.6 



ACCOUNTING ROUTINES 



//JOBA JOB (A, B, . . .), 'JOE BLOW* 



// EXEC ...,ACCT = (A,B,...) 



O 

-a 
■n 

< 

i 



ENTRY LINKAGE 



lEFACTRT 


START 

SAVE (14,12) 

ST I3.SAVAR + 4 


lEFACTRT 

O 
-a 

TI 

< 


OR 
CSECT 
SAVE (14,12) 

ENTRY lEFACTRT 
ST 1 3, SAVAR + 4 



PARAMETERS PASSED 



Reg. 1 




FULL WORD 



+ 12 
+ 16 
+ 20 
+ 24 




JOBNAME 



STEPNAME 



(8) 



(8) 



PROGRAMMER 

a 



(20) 



JOB** 
TIME I N 



JOB 

DATAi 

— a — 



, , JOB 

C 2 DATA 2 

I — | u — 



. JOB * 
C3 C N DATAn 



■#■ 



STEP 
TIME 



** 



M 



H 



Ci 



STEP 
DATAi 

— ll — 



1 1 STEP 

C 2 DATA 2 

I ji 



■#■ 



1 STEP 1 

c 3 c M datam 

— » 1 I — 



O 



ZERO AT JOB TERMINATION 



< 

1 

CO 



** 



ZERO WITHOUT OPTIONS 4 8 6B 



OUTPUT TO CONSOLE 



1. WTO 



2. WTOR 



o 

Tl 

< 

I 



SYSTEM OUTPUT 



/ SYSTEM-^ 
\ PROVIDED/ 



Reg. 12 



J I 



MESSAGE QUEUE 



o 

T3 
< 



USER- ' 
PROVIDED, 



Reg. 13 



USER- ' 
PROVIDED, 



Reg. 15 



J I L 



*i 



* 



64 FULL WORDS 



IEFYS 

( SYSTEM OUTPUT 
WRITER ROUTINE) 



y 



IBM 



IBM System 360 Assembler Coding Form 



program ACCOUNTING ROUTINES 


PUNCHING INSTRUCTIONS 


PAGE OF 




GRAPHIC 
















CARD ELECTRO NUMBER 


PROGRAMMER 


DATE 


PUNCH 

















o 



STATEMENT 


Identification- 
Sequence 

73 80 


Nome 
1 8 


Operation 
'0 14 


Operand 
16 20 25 30 


Comments 
35 40 45 50 55 60 65 7l' 


IEFACTRT 


START 











SAVE 


(14,12) 


SAVE REGISTERS 






ST 


13, SAVE 


STORE 13 














LA 


13. SAVEAR 


LOAD 13 WITH ADDR OF 64 FULL WORD AREA 




MVC 


36(4. 12). MSGADDR 


MOVE ADDRESS OF MESSAGE INTO QUEUE 






MVC 


42(2. 12). MSGLEN 


MOVE LENGTH OF MESSAGE INTO QUEUE 






L 


15. VCONYS 


BRANCH AND LINK TO OUTPUT WRITER 






BALR 


14. 15 


ROUTINE 


















L 


13, SAVE 


RESTORE 13 




RETURN (14,12) 








SAVE 


DS 


IF 






SAVEAR 


DS 


64F 






MSGADDR 


DC 


A(MSG) 






MSG 


DC 


C'TEXT OF MESSAGE* 






MSGLEN 


DC 


H'LENGTH OF MESSAGE 1 




VCONYS 


DC 


V(IEFYS) 














END 









< 

I 

o 



EXIT LINKAGE 



L 13.SAVAR+4 
RETURN (14,12) 



O 

Tl 
< 



IBM 



IBM System/360 Assembler Coding Form 



program BEFORE SYSGEN 




PUNCHING INSTRUCTIONS 


PAGE 1 OF 1 




GRAPHIC 
















CARD ELECTRO NUMBER 


PROGRAMMER 


DATE 


PUNCH 

















< 

00 



STATEMENT 


Identification- 
Sequence 

73 80 


Nome Operotion Operond Comments 
1 8 '0 14 16 20 25 30 35 40 45 50 55 60 65 71 


//JOB1 JOB 




// EXEC PGM=LINKEDIT,PARM= f NCAL # XREF f 




//SYSPRINT DD SYSOUT=A 




//SYSUT1 DD DSNAME=STEMP,UNIT=2311,SPACE=(TRK,(2 0, 10)) 




//SYSLMOD DD DSNAME=SYS 1 .MODL I B, DI SP=COLD . KEEP) 




//SYSLIN DD » 




r 




I 




( NEW IEFACTRT COR INCLUDE) 




/ 




( 




INCLUDE SYSLMODCIEFACTRT) 




NAME IEFACTRTTR) 




/» 





















































IBM 



IBM System/360 Assembler Coding Form 



r— . 

program AFTER SYSGEN ^K SCHEDULER 


PUNCHING INSTRUCTIONS 


PAGE 1 OF 1 




GRAPHIC 
















CARD ELECTRO NUMBER 


PROGRAMMER 


DATE 


PUNCH 

















STATEMENT 


Identification- 
Sequence 
73 80 


Name Operation Operand Comments 
1 8 '0 14 16 20 25 30 35 40 45 50 dd 60 65 7l' 


//JOB3 JOB 




// EXEC PGM=LINKEDIT # PARM= , NCAL I 




//SYSPRINT DD SYSOUT=A 




//SYSUT1 DD DSNAME=&TEMP,UNIT=2311,SPACE=(TRK,(20, 10)) 




//SYSLMOD DD DSNAME=SYS 1 . LI NKLI B, DI SP=(OLD, KEEP) 




//5YSLIN DD :: 




j: 




iNEW IEFACTRT (OR INCLUDE) 




s 




INCLUDE SYSLMODCIEFYN) 




ALIAS IEFYN 




ALIAS IEFW21SD 




ENTRY IEFSD011 




NAME GO(R) 




< 




1 


1 NEW IEFACTRT COR INCLUDE) 




1 


1 




INCLUDE SYSLMODCIEFZA) 




ENTRY IEFZA 




NAME IEFZA(R) 




/" 

























o 

-a 



< 

1 



IBM 



IBM System/360 Assembler Coding Form 



program AFTER SYSGEN - 18K SCHEDULER 


PUNCHING INSTRUCTIONS 


PAGE 1 OF 1 




GRAPHIC 
















CARD ELECTRO NUMBER 


PROGRAMMER 


DATE 


PUNCH 

















STATEMENT 


Identification- 
Sequence 

73 80 


Nome Operation Operand Comments 
1 8 '0 14 16 20 ?5 30 35 40 4j 50 55 60 65 7)' 


//JOB2 JOB 




// EXEC PGM=LINKEDIT,PARM='NCAL f 




//SYSPRINT DD SYSOUT=A 




//5YSUT1 DD DSNAME=STEMP,UNIT=2311,SPACE=(TRK,(2 0, 10)) 




//SYSLMOD DD DSNAME=SYS 1 . LI NKLI B, DI SP=(OLD, KEEP) 




//SYSLIN DD » 








) NEW IEFACTRT (OR INCLUDE) 




i 




INCLUDE SYSLMODCIEFYN) 




ALIAS IEFYN 




ENTRY IEFSD011 




NAME GO(R) 




( 




) NEW IEFACTRT (OR INCLUDE) 


( 


( 




INCLUDE SYSLMOD(IEFZA) 




ENTRY IEFZA 




NAME IEFZA(R) 

































NON-STANDARD LABELS Topic VI 

Suggested Sequence: Reference 

A. To define non-standard label processing routines. 

1. The existence of non-standard labels. 

a. Direct-access-stored data sets must be 
written onto the new devices of the S/360; 
this is a hardware requirement. 

1) Creation of new labels at data-set- 
creation time will cause little 
problem; thus little problem is en- 
countered in creating standard labels 
for these data sets. 

2) OS/360 requires S/360 standard labels 
for all data sets on direct-access- 
devices . 

b. The 2400 tape drives have the capacity 
to handle tape volumes compatible with 
drives used by other IBM computer systems. 

1) Without a hardware obligation to re- 
write the data set, there is less 
impetus to create OS/360 standard 
labels for data sets. 

2) OS/360 recognizes this situation, 
and permits the existence of /360 
non-standard labels for data sets on 
magnetic tape volumes. In addition, 
tape volumes without labels are per- 
mitted by the system. 

a) Unlabeled tape volumes are 
handled by a combination of DD 
card entries and code built in- 
to OS. 

b) Non-standard labels are handled 
by extensions of OS, created by 
an installation to satisfy its 
own particular needs. 

2. A characteristic of non-standard labels is 
that although they do not meet the requirements 
of OS/360 labeling conventions, they most like- 
ly will be labels that are standard to another 
computing system, e.g. 7000 series, 7010, etc. 



4.6.1 



Suggested Sequence: 



Topic VI (Cont'd.) 
Reference 



INSTRUCTORS' NOTE: 



It is assumed that the students are aware of the advisa- 
bility of maintaining labels for data sets residing on 
tape volumes . 



3. Review the times in processing when NSL routines 
of any type would be required. 

Note that for our purposes, we are restricted 
to the Sequential Access Method and magnetic 
tape . 

a. Input data set 

1) At OPEN time, to insure that the 
proper input volume has been mounted. 

2) With multi-volume data sets, at I-OV 
time, to insure that the next volume 
to be processed is the proper one. 

3) At CLOSE time to handle volume dis- 
positioning and trailer label check- 
i ng . 

b. Output data set 

1) At OPI-N time to check the expiration 
of the mounted vol urn e , and t o c r e a t e 
new header labels. 

2) At EOV time (for a mul t i -volume data 
set) to ascertain that the next vol- 
ume contains an expired data set, and 
to create new header labels for that 
volume . 

3) At CLOSE time to create trailer 
records for the data set, and to 
provide disposi t ion i ng of the volume. 

c. Before discussing the conventions of the 
NSL routines for input or output data sets, 
we will look at the OPEN routines. 



INSTRUCTORS' NOTE : 

The students should be familiar with the OPI-N macro. 



4.6.2 



Topic VI (Cont'd.) 
Suggested Sequence: Reference 

B. The OPEN routines 

1. General OPF VI -1 

All belong to the I/O Support Routines which 
are non-resident SVC routines (Type IV pri- 
marily). As such, they are all executed in the 
SVC transient area in supervisor mode. 

2. The functions accomplished during OPEN are: 

a. Complete DCB's - the interface between 
the problem program and the access method. 

The data control block is created when 
the processing program is assembled, but 
it may not be complete at that time. The 
OPEN process includes completing the DCB 
from information in the Job File Control 
Block (JFCB) and the input data set label 
or DSCB. 

b. Fetching access routines. 

3. The OPEN macro OPF VI -2 
a. Basic Initialization 1 

1) Basic initialization phase of OPEN 
uses a GETMAIN to obtain a work and 
control block area for each DCB in 
the parameter list. 

It includes an area to input OPF VI-3 
or output label data for the 
data set. 

It includes an area to input 
the job file control block. 
(The JFCB was created by Job 
Management from DD card infor- 
mation and stored at the time 
onto a secondary device.) 

2) Build the WTG Table 

After determining the length of the OPF VI-4 
Where To Go Table (WTG Table) issue 
a GETMAIN and build it. 



4.6.3 



Suggested Sequence: 



Topic VI (Cont'd.) 
Reference 

a) The WTG Table is built at OPEN 
time using: 

XCTL tables (contain IDTTR 
of OPEN Access Method Execu- 
tors used to build DEB ' s 
and load Access Method Rou- 
tines into dynamic storage) . 

Work And Control Block Area 
fWACB^) addresses obtained 
during GETMAIN. 

BLDL macro. 

Parameter list of OPEN 
(i.e. DCB f s) . 

b) The WTG Path (Bytes 30 and 31) 
developed during basic initiali- 
zation of OPEN determines which 
OPEN modules will be required 
after basic initialization. This 
depends on the device type, the 
label characteristics and the num- 
ber of volumes for the data set. 

Bit assignments in byte 30 are 
for: 

direct-access device. 

standard label tape posi- 
tioning . 

unlabeled tape positioning. 

input label processing 
(verification) . 

non-standard input tape. 

non-standard output tape. 

Bit assignments in byte 31 are 
for: 

output label processing 
(verification) . 

More than five volumes 
specified by the JFCB. 



4.6.4 



Topic VI (Cont'd.) 

Suggested Sequence: Reference 

Each OPEN module or executor determines 
the next OPEN module to be loaded by test- 
ing the bits in the WTGPATH. Each OPEN 
module or executor has an XCTL table con- 
sisting of the other load ID's to which 
the current load module can XCTL. 

3) Read the JFCB. 

To read the JFCB from the job queue 
to the work area, the OPEN routine 
must construct control blocks (DCB, 
DEB, ECB, and IOB) and a channel pro- 
gram within the work area. OPF VI -3 

OPEN obtains the address of each JFCB 
from the task input/output table 
(TIOT). 

b. The volume mounting and verification phase 
performs the following functions: 

1) It determines whether correct volumes 
have been mounted; if necessary, a 
mounting message is issued. 

2) It checks the labels of the volume; 
if necessary, a mounting message is 
issued. 

c. The third phase of OPEN merges control 
information to and from the DCB, to and 
from the JFCB. 

1) Each time a merge is executed, a bit 
which is later placed into the DEB) 
is set to indicate that a particular 
field was merged. 

2) CLOSE routines use these indicators 
to reset the DCB to its pre-OPEN 
status. 

d. During access-method-determination, OPEN 
passes control to an appropriate access 
method executor (a segment of OPEN). 

1) A DEB is built in upper dynamic stor- 
age for each DCB. 

2) The required access method routines 
are loaded from LINKLIB into the 
dynamic area. 



4.6.5 



Suggested Sequence: 
e. 



Topic VI (Cont'd.) 
Reference 



The final phase rewrites the JFCB's into 
secondary storage if they were changed 
during the merge phase, and uses a FREEMAIN 
to free the work areas assigned to each DCB. 

f. General comments on the OPEN modules. 2 

1) OPEN is a type IV SVC routine written 
with re-entrant code. 

2) Before a module is replaced, it is 
executed as many times as is needed 
to open the specified DCB's. 

a) Thus, if a user specifies multi- 
ple DCB's in a single OPEN, 
rather than defining multiple 
OPENs, the processing time will 
be improved. 

b) To allow this recursive process- 
ing of modules, each DCB will 
have defined for it a work area 
(536 bytes). Thus dynamic stor- 
age requirements are increased. 

C. General discussion of OPEN in relation to non- 
standard label processing. 

1. Passage of control to the NSL routines. 

a. The DD entry LABEL* (, NSL) is the primary 
indicator to OS concerning NSL process- 
ing. This information is retained in the 
JFCB. 

b. Control is passed to a NSL routine via 
an XCTL macro instruction. 

1) The required names of the first NSL 

modules are: OPF VI -5 



Member Name 


Processing Type 


IOS Module 


NSlOMdri 


Input header 


OPfcN 


NSLEHDRI 




EOV 


NSLOHDRO 


Output header 


OPEN 


NSLEHRRO 




EOV 


NSLETRLI 


Input trailer 


EOV 


NSLETRLO 


Output trailer 


EOV 


NSLCTRLO 




CLOSE 



4.6.6 



Suggested Sequence: 

2) 

3) 



Topic VI (Cont'd.) 

Reference 

The NSL routines must be coded as 

Type IV SVC modules and put in OPF VI -1 

SYS1.SVCLIB. OPF VI-6 

Additional NSL modules required must 
be named so that the first three char- 
acters are either NSL or IGC. 



Return from the NSL routine. 

The NSL modules must return control via an 
XCTL macro instruction to an appropriate OPEN 
module. 



OPF VI -7 



Module Name 


Processing Type 


105 Module 


IGd0196k 


Input header 


6PfeN 


IGG0550D 




EOV 


IGG0550B 


Input trailer 


EOV 


IGG0190R 


Output header 


OPEN 


IGG0550H 




EOV 


IGG0550F 


Output trailer 


EOV 


IGG0200B 




CLOSE 


Note that: 


0190 is OPEN 
0550 is EOV 
0200 is CLOSE 





D. Detail discussion of non-standard header label 
processing during OPEN. 

1. Information supplied to NSLOHDRI by OPEN. 

a. DCB addresses OPF VI-8 

# 

1) Each problem program DCB, coded as a 
parameter in the OPEN macro instruc- 
tion, is located by means of a 
4-byte pointer. 

a) The three low-order bytes con- 
tain the address of the DCB in 
the problem program. 

b) The high order byte indicates OPF VI-9 
type of I/O operation as speci- 
fied in the OPEN and tape dis- 
position. The high order bit 
identifies the last DCB address 

when set to 1. 



4.6.7 



Suggested Sequence: 



Topic VI (Cont'd.) 
Reference 



BITS 


1 


2 


3 


4 


5 


6 


7 












1 










REREAD 







1 


1 










LEAVE 





















NEITHER 






















INPUT 










1 


1 


1 


1 


OUTPUT 
















1 


1 


INOUT 













1 


1 


1 


OUTIN 



















1 


RDBACK 













1 








UPDAT 



2) The 4-byte pointers are maintained 

in a contiguous list in dynamic stor- 
a S e * OPEN places the address of this 
list in GR5 prior to passing control 

to NSLOrtpftr r — 

b. Control blocks usable by EXCP in the NSL 
routine: 

1) OPEN routines create a combined work 
and control block area for each DCB 
in the parameter list. 



a) All blocks necessary for the 
EXCP level of code are a part 
of this I/O Support Work Area. 

b) The JFCB is located in this area. 

c) A 100-byte I/O area exists to 
be used for transmission of 
standard label and DSCB informa- 
tion. 

2) The NSL coder is directed to the I/O 
Support Work Areas via the Where-To 
Go (WTG) Table, which is also dynam- 
ically constructed by OPEN modules. 

The address of the WTG table 

is loaded into GR6 by OPEN prior 

to passing control to NSLOHDRI. 

3) OPEN provides additional information 
to the NSLOHRDI module - - e.g. a 
pointer to the TIOT via GR9 - - but 
the DCB and the WTG table should 
provide ample data to the NSL coder. 



OPF VI-3 



OPF VI-10 



4.6.8 



Suggested Sequence: 
2. NSLOHDRI 



Topic VI (Cont'd.) 
Reference 



a. Entry into NSLOHDRI from OPEN. 

1) An XCTL to the NSLOHDRI module is 

activated when the following condi- 
tions have occurred in OPEN process- 
ing. 

a) OPEN does not find an 80 byte, 
VOL1 label of the specified 
density on the volume. 

b) LABEL=(,NSL) has been specified 
in the DD card. 



2) 



3) 



4) 



5) 



OPEN will reposition the tape to the 
IRB immediately preceding the NSL 
before XCTL'ing to NSLOHDRI. 

OPEN will load GR's 5 f, 6 so that 
they point to the parameter DCB's 
and their work and control block areas 
respectively. 

OPEN will have turned on the mount bit 
to indicate that a mounting message 
has been issued for the volume, but 
that the label has not been verified. 



a) The high order bit of the 

SRTEDMCT byte in the UCB is 
mount bit. 



the 



b. 



b) The mount bit is used by the 

NSL module to indicate whether 
the volume is acceptable. 

OPEN will pass control to NSLOHDRI 
only after inspecting all of the OPEN 
parameter DCB's. For unlabeled or 
standard labeled tapes, some degree 
of volume verification will have been 
performed. 



NSLOHDRI Considerations 

1) NSLOHDRI is a module of OPEN, a type 
IV SVC Routine. Code must therefore 
be re-entrant, and the entry point 
must be the first byte of the load 
module. 



4.6.9 



Topic VI (Cont'd.) 
Suggested Sequence: Reference 

2) Registers 2-14 must be saved, and 8 
should be stored in an area of main 
storage acquired by a GETMAIN. 

3) NSLOHDRI must provide for symbolic OPF VI-11 
definition of the fields within the 

DCB, the Work and Control Block Area, 
and the UCB. The relevant macro in- 
structions are: 

a) IECDSECT 

Defines symbolic names for all 9 
fields in the Work and Control 
Block Area. 

Code this as: DSECT 

IECDSECT 

b) IEFUCBOB 

Defines the symbolic names for 
all fields in the UCB. 

Code this as: DSECT 

IECDSECT 

c) DCBD 

Produces a DSECT for a DCB. 

d) Note that IECDSECT and IEFUCBOB Appendix XIX 
must be included in MACLIB in 

order to use these macro in- 
structions . 

e) See Appendix XIX for example of Appendix XIX 
writing your own macros to 

accomplish the function per- 
formed by IECDSECT and IEFUCBOB. 

4) NSLOHDRI must determine the parameter 10 
DCB's to be processed. 

a) The DCB field DCBOFLGS indicates 
whether the DCB is already open. 
Bit 3 of this field, when zero, 
indicates that the DCB is not 
open. 

b) The UCB field UCB3TAPE indicates 
whether the data set is tape. 
The bit is a one for tape. 



4.6.10 



Topic VI (Cont'd.) 



Suggested Sequence: 



Reference 



5) 



c) The JFCBLTYP field of the JFCB 
will contain a hexadecimal 04 
if NSL has been specified. 

NSLOHDRI 's use of the mount switch. 

a) If NSL processing indicates that 
the tape is satisfactory, the 
mount switch should be set to 
zero. 

b) If the tape is found to be un- 
satisfactory, the mount switch 
should be set to one. When 
OPEN regains control, it per- 
forms as follows: 

(1) Issues a rewind and unload 
and a mount message. 

(2) Verifies that the newly 
mounted tape does not con- 
tain standard labels. 



11 



(3) XCTL's to NSLOHDRI. 

6) Additional operator messages should 
be handled by a WTO or a WTOR in 
E-form. (The macro form must be 
out-of-line, otherwise it would wipe 
out the NSL routine which is in the 
SVC transient area.) 

7) Before returning control to OPEN, 
NSLOHDRI must position the tape to 
the IRG preceding the first data 
record. 

c. General logic flow of a non-standard 

label processing routine after receiving 
control from the OPEN routine. 



OPF VI-12 



3. 


Example 


















INSTRUCTORS' 


NOTE : 


















Refer to 


the 


Systems 


Pre 


»g rammer 


s 


Gu: 


Lde, 


pages 


55 


and 


58-59 foi 


• an 


example 


» 

















4.6.11 



Topic VI (Cont'd.) 
Suggested Sequence: Reference 

4. Inserting NSLOHDRI into the Control Program. 12 

a. Inclusion during system generation. 

1) Use the SVCLIB macro instruction to 
insert the member NSLOHDRI, and any 
additional members required, into the 
SVC library. 

2) Each load module must be a member of 

a PDS; the first member: SYS1 .NSLOHDRI , 
subsequent members: 

NSL 

SYS1.XXXXXXXX. 

IGC 

b. Inclusion after system generation requires OPF VI-13 
the use of linkage editor to add an addi- 
tional module - NSLOHDRI - to the already Appendix XIX 
existing OPEN. 

c. Note that if a NSL condition occurs prior 
to inserting the appropriate NSL module 
into SVCLIB, the system will execute an 
ABEND. 

5. Testing the non-standard header label process- 
ing routine. 

a. Insertion into SVCLIB may be too costly 
for a test-and-debug situation. 

b. A more realistic approach is to recode 
NSLOHDRI as a stand-alone problem program. 

All required control blocks could 
be built by the problem code, and 
the XCTL back to OPEN removed. 

6. EXCP level of code 



a 



The first point to make is the need for the 
EXCP level of I/O coding for handling tape 
labels. Quite simply, the reason is that 
OPEN has not loaded any accessing methods at 
the time labels are processed . 



4.6.12 



Suggested Sequence: 



Topic VI (Cont'd.) 
Reference 



INSTRUCTORS' NOTE: 



If the non-standard label presentation is to include 
an EXCP presentation, then it should be inserted here. 
Normally the above references to control blocks should 
be more of a reminder than a presentation. 



EXCP code requirements must include: 
1) A DCB 

An I OB 

A DEB 

An ECB 



2) 
3) 
4) 
5) 



CCW's to perform the desired opera- 
tion 



c. The coder may establish these control 

blocks himself in dynamic storage, or he 
may use blocks already created by OPEN. 

Discussion of non-standard label routines during 
CLOSE and EOV. 

1. Review NSL module names. Review processing 
required at CLOSE and EOV time: 

a. The CLOSE macro performs the following: 

1) Processes labels on tape output data 
sets by writing the appropriate out- 
put label. It determines volume 
disposition from parameters in 
CLOSE - - either LEAVE or REREAD - - 
or, in their absence, from the 
(resident) TIOT. 

2) It restores the DCB to its original 
state, using the bits set by OPEN 
into the DEB. 

3) CLOSE releases the main storage used 
for: 

a) Subroutines and appendages. 



OPF VI -5 
OPF VI-14 



4.6.13 



Topic VI (Cont'd.) 
Suggested Sequence: Reference 

b) The DEB (The DEB is also removed 
from the DEB chain; remaining 
DEB's are rechained.) 

c) The work area built and used by 
CLOSE itself. 

b. EOV is an I/O Support Module invoked by 
the control program, or by an FEOV macro 
instruction in the processing program. 
Its purpose is to process end-of -volume 
and/or end-of-data-set conditions. 

1) The control program passes control 
to EOV whenever: 

a) A tape mark is read on tape. 

b) A file mark is read on a DASD. 

c) The end of the last extent is 
recognized on a direct access 
volume . 

d) An end of file indication occurs 
for a U/R device. 

e) End of reel is encountered on 
a tape volume. 

2) EOV processing begins by issuing a OPF VI-15 
GETMAIN; the storage acquired is 

used for a work area and a JFCB area. 
(Note that both OPEN and CLOSE do 
this.) EOV is responsible for: 

a) Issuing any necessary mounting 
messages . 

b) Checking and/or writing label 
information. 

c) Handling disposition of the 
"old" volume - just as CLOSE 
performs this function. 

2. Tape mark consideration 

a. For Input Data 

If no tape mark exists before the NSL 
trailer record(s) , then user code must 



4.6.14 



Topic VI (Cont'd.) 

Suggested Sequence: Reference 

determine data or volume end and issue 
an FEOV macro. 

b. For Output Data 

The output trailer NSL routine is auto- 
matically entered when a reflective strip 
is encountered. User code must provide 
for a tape mark prior to the trailer 
record if one is desired. 

3. When control is passed from EOV, register 2 
contains the address of the relevant DCB, and 
register 4 contains the address of its combined 
Work and Control Block Area. 

4. Multi-volume Data Sets 

a. OS/360 determines the number of volumes 
required for a multi-volume data set via 
the VOL entry on the DD card. For example, 
the entry: 

VOL = SER = (ABCDE,FGHIJ) 

implies that two volumes are necessary 
for this data set. 

b. In an OPEN NSL routine, the coder could 
set the VOLCOUNT field in the JFCB to re- 
flect the actual number of volumes. 

c. Assume that EOR-EOF is an operator deci- 
sion. (This is feasible when "merging" 
an unknown number of distinct data sets, 
e.g. a report.) Then based on his reply, 
via a WTOR, the NSL-EOV code could set 
the VOLCOUNT field in the DEB. If truly 
EOF, this field should be set equal to 
the VOLCOUNT field of the JFCB. 

Note that the DEB indicated here is 
pointed to by the DCB. The coder should 
locate and change that VOLCOUNT field. 

F. A Generalized Handling of Non-standard Labels: 
The Data Conversion Utility II Package. 

1. General Description 

a. The package has been developed by IBM 
(Los Angeles Aerospace) to assist the 



4.6.15 



Topic VI (Cont'd.) 

Suggested Sequence: Reference 

user with converting current IBM system 
data files to S/360 data sets. Its scope 
is broader than consideration of non- 
standard labels. However, the set of 
special purpose macros, subroutines, and 
modules may be combined in a large variety 
of ways to create specific data conversion 
programs . 

b. The package is designed for conversion 
from these systems: 

1) 7040/44, 7070/74, 7080, 7090/94 

2) 1401, 1410, 7010 

2. Data Conversion Non-Standard Label Modules (DCNSL) 

a. The conversion package handles input header 
and trailer processing only. 

b. DCNSL consists of seven modules: 

1) NSLOHDRI/NSLEHDRI - label discrimina- 
tion and header label modules. 

2) NSLTYPEX - the header label check- OPF VI-16 
ing modules for current system label 

types A, B, C and D. 

3) NSLETRLI - the trailer label module. 

4) User modules may be included addi- 
tionally for header and trailer 
checking. (NSLOUSRI and NSLCUSRI) 

3. Comments on the Techniques of DCNSL. 

a. The modules NSLOHDRI/NSLEHDRI receive 
control from OPEN and EOV respectively. 
It is their responsibility to determine 
to which NSLTYPEX module to pass control. 

b. NSLOHDRI attempts to read specifying a 
different density if the one passed from 
the DCB or JFCB is unsuccessful. (To 
change the density specification, bits 
in the DEB - which exist in the work and 
control block area - must be changed.) 

c. The modules are coded to utilize informa- 
tion passed through the DD card for label 
verification. 

4.6.16 



Suggested Sequence: 
1) 
2) 



Topic VI (Cont'd.) 
Reference 



G. 



3) 



No change was made to the DD macros. 

Utilization was made of specifica- 
tions such as: 

VOL=SER* ( list of volume serials) 

Such an entry creates a field in the 
JFCB which is accessible to DCNSL, 
and because NSL is specified, is of 
little interest to OS. 

This technique of parameter communi- 
cation is relatively simple, yet 
quite effective. 



Concluding Remarks 

1. The NSL Coder should have the following materi- 
als for information sources: 

a. IBM System/360 OS System Programmer's 
Guide, C28-6550. 

b. IBM System/ 360 OS Input/Output Support 
(OPEN/CLOSE/EOV), Y28-6609. 

c. IBM System/360 OS Job Control Language, 
C28-6539. 

d. IBM System/360 OS Introduction to Control 
Program Logic, Part II (Control Blocks), 
Y28-6605. 

e. System/360 Data Conversion Utilities 
Appreciation Description, H20-0194. 

2. A problem should be assigned. Some sugges- 
tions follow. 



INSTRUCTOR'S NOTE : 

The students should be assigned one of the following 
problems at this time. Problem "a" has been worked out 
and could be used for this assignment. The problem 
assignment can be very effectively presented using 
OPF's VI-6, VI-12, and VI-17. The problem solution is 
in Appendix XIX. 



OPF VI-6, 
VI-12, 
VI-17 



Appendix XIX 



4.6.17 



Topic VI (Cont'd.) 
Suggested Sequence: Reference 

3. Problems 

a. Code a NSL routine for OPEN input, 

b. Code a NSL routine for OPEN output. 

c. Code a NSL routine for CLOSE. 

d. Code a NSL routine for EOV input header. 

e. Code a NSL routine for EOV output header. 

f . Code a NSL routine for EOV input trailer. 

g. Code a NSL routine for EOV output trailer. 



4.6.18 



TOPIC VI 
REFERENCES 




EFERENCE 
CODE 



1 

2 

3 

4 

5 

6 

7 

8 

9 

10 

11 

12 



8 
5-6 

33 

9 



11 



58 
53 

51-52 
51 

60-65 
58 

59 



4.6.19 



NSL SVC ROUTINES USE TRANSIENT AREA 




YSl - SVCLIB 

scooois 

IG 60190A 
, Ns LOHDRI 
I6 <30190B 





OPFVI-l 



FUNCTIONS OF THE OPEN MACRO 



BASIC INITIALIZATION 



VOLUME MOUNTING 8 VERIFICATION 



MERGING OF CONTROL INFORMATION 



ACCESS METHOD DETERMINATION 



TERMINATION 



O 

T3 



I 



WORK AND CONTROL BLOCK AREA 



O 

TI 
< 

CO 



WORK AREA 


100 BYTES 


JFCB 


176 BYTES 


ECB 


4 BYTES 


IOB 


40 BYTES 


DEB 


44 BYTES 


DCB - ABBREVIATED 


4 BYTES 


CCWs 


96 BYTES 


ADDITIONAL WORK AREA (EOV ft OPEN) 


72 BYTES 



WT6 TABLE 



BLDL 



> 32 BYTES 



IDTTR OF 1§! OPEN EXECUTOR 



IDTTR OF 1 st OPEN EXECUTOR 



IDTTR OF 1 st OPEN EXECUTOR 



IDTTR OF 1 st OPEN EXECUTOR 



SIZE 



WTG PATH 



WACBA ADDR 



WACBA ADDR 



WACBA ADDR 



WACBA ADDR 



} 
} 
} 
} 



8 BYTES 
8 BYTES 
8 BYTES 
8 BYTES 



A? 



t 



o 

-n 
< 



RETURN IDTTR 



SIZE =8n +8+32 
n =#DCB's 



r 

} 



8 BYTES 



NSL MODULES 





MEMBER NAME | 


| PROCESSING TYPE 


IOS MODULE 




NSLOHDRI 


INPUT HEADER 


OPEN 




NSLEHDRI 




EOV 




NSLOHDRO 


OUTPUT HEADER 


OPEN 




NSLEHDRO 




EOV 




NSLETRLI 


INPUT TRAILER 


EOV 




NSLETRLO 


OUTPUT TRAILER 


EOV 




NSLCTRLO 




CLOSE 


o 

-o 

Tl 


ADDITIONAL MODULE NAMES BEGIN 


< 

1 




NSL OR IGC 





OPEN (SVC 19) 



IGG0190B 
NSL 

RETURN 



x 



i 



I6G0190C 
N. L.TAPE 
POSITION 



I 



© 



o 

-o 
-n 

< 















IGG0190X 
<5 VOLS. 




IGC00019 
INITIAL 


u 























N.S. LABEL 
(USER) 



IGG0190A 
MOUNT 
VERIFY 



HQ0(n f 



IGG0190D 

LABEL TAPE 

POSITION 



IGG0190F 

IN-TAPE 

HDR. VERIFY 



[J 






IGG01901 
DIRECT 
ACCESS 



1 



IGG0190L 
FWD. MERGE 
A. M. TABLE 



IGG0190J 

BPAM 
CON CAT 



© 



IGG0190M 

DCB EXIT 

REV. MERGE 



IGG0190P 
OUT TAPE 
HDR. BUILD 



A.M. 
EXECUTOR 



Nf 



IGG0190S 
FINAL 



CONTROL MUST RETURN TO : 



o 

Tl 
< 

I 



MODULE NAME 


PROCESSING TYPE 


IOS MODULE 


IGG0I90B 


INPUT HEADER 


OPEN 


IGG0550D 




EOV 


IGG0550B 


INPUT TRAILER 


EOV 


IGG0I90R 


OUTPUT HEADER 


OPEN 


IGG0550H 




EOV 


IGG0550F 


OUTPUT TRAILER 


EOV 


IGG0200B 




CLOSE 




OPF VI-8 



BITS C 


) 1 2 3 


4 5 6 7 


REREAD 

LEAVE 

NEITHER 

INPUT 

OUTPUT 

INOUT 

OUTIN 

RDBACK 

UPDAT 


1 
1 1 









1 1 1 1 
11 
111 
1 
10 



OPF VI -9 




WTG TABLE 



WORK AND CONTROL 
BLOCK AREAS 




xxxxxx^y 



OPF VI-10 



* TO DEFINE SYMBOLICALLY THE WORK AND CONTROL BLOCK AREA 



DSECT 
IECDSECT 



* TO DEFINE SYMBOLICALLY THE UCB 



DSECT 
IEFUCBOB 



* TO DEFINE SYMBOLICALLY THE DCB 



DCBD 



O 
-n 
< 
i 



NSLOHDRI 



DLOGIC 



B LOGIC 



CHECK 



XCTL FROM 
IGG0I90A 



HSKP 



INITBASE 
REG. TO 

ADDR.CTRL 
BLOCKS FOR 

CURR. DCB 




SET MOUNT 
BITOFF 




WTO 

^HDRON XXX 

CHECKS 



POSITION 
TAPE 

cz 



YES 



NO 



ERRORK2) 
NO 



SET MOUNT 
BIT ON 



ALOGIC 



ELOGIC 




OPF VI-12 



TO INSERT NSLOHDRI AFTER SYSGEN 



7 * 



6 NAME NSLOHDR 



tfsuo* ^ ^$& oeC * 




// SYSLIN 



DD 



* 



SYSPRINT DD 



SYSOUT = A 



DISP=(OLD,KEE?>) 



// SYSLMOD DD DSNAME = SYS 1. SVC LIB, 



-<S> 



SPACE =(TRK,(20,I0)), DISP =(,DELETE) 



7/ SYSUT1 



DD 



DSNAME = AREA, UNIT = 2311 



EXEC PGM=IEWL,PARM ='NCAL' 



// NSLED 



JOB MSGLEVEL = 1 



LINKAGE 

EDITOR 

PROCESSING 



o 

"Tl 

< 

I 

CO 





SYS1. SYCLIB 



FUNCTIONS OF THE CLOSE MACRO 



*Zk 



LABEL PROCESSING 

RESTORES DCB 

RELEASES MAIN STORAGE 
SUBROUTINES 

APPENDAGES 



O 

Tl 
< 



FUNCTIONS OF EOV PROCESSING 



ISSUES MOUNTING MESSAGES 



LABEL PROCESSING 



OLD VOLUME DISPOSITIONS 



o 

-o 
-n 

< 

i 

en 



DATA CONVERSION UTILITY E PACKAGE 



O 

-o 

Tl 
< 



LABEL TYPE 


LABEL LENGTH 
(BYTES) 


USED BY 


A 


120 


7040/44, 7080(HYPERTAPE) 
1401,1410,7010 


B 


80 


7070/44,1401,1410,7010 


C 


84 


7090/94,1401,1410,7010 


D 


80 


7080 

INCLUDING INTERMEDIATE 
HEADER CHECKING 



o 



UPDATE SYS1.MACLIB 



IEHLIST 



LIST 
SYS1.MACLIB 

DIRECTORY 



IEBUPDAT 



'lECDSECT' 
'IEFUCBOB' 

TO MACLIB 



IEHLIST 



LIST 

SYS1. MACLIB 

DIRECTORY 



CREATE A JOBLIB 




PUT TEST PROGRAM IN EBCLIB 



ASSEMBLE 




LINK EDIT 


TEST PROG 

(EBC3) 


W 





PUT NSLOHDRI IN SYS 1. SVC LIB 



ASSEMBLE 



N.SL. 
KUSE 3 MACROS) 




TEST 




OPF VI-17 



ERROR ROUTINES Topic VII 

Suggested Sequence: Reference 

A. Error occurrence in OS/360 and how it affects execu- 
tion of user's program. 

1. Error occurrence at an I/O device. 

Very rarely will this type of error cause the 
system to blow up or the task to terminate 
when EXCP is being used. 

a. Three conditions may arise in IOS: 

1) Catastrophic error - system is put 
in permanent wait state. EX: If 
I/O device cannot be sensed, or 
permanent I/O error on the system's 
single typewriter console. 

2) Abnormal task termination - primarily 

the result of program errors - errors 1 
in control block pointers, program 
or protection check in a channel 
program. 

3) Uncorrectable error condition - 
recovery procedures failed. IOS 
flags DCB and ECB with permanent 
error. 

b. Error Handling in the Accessing Methods 

1) EXCP - When error recovery fails, the 
user is told that he has a permanent 
error by the post code in his ECB. 
Among the options he has are: 

a) Continue processing the data 
set (after resetting the DCB 
permanent error flags) either 
skipping the erroneous block or 
processing it anyway. User 
must determine from sense bits 
whether or not data transfer 
even took place. 

b) Programming a channel program 
retry. 

c) ABENDing his task. 

2) Standard Accessing Methods 

Programmer has less control over error 
procedures. In queued accessing and 



4.7.1 



Topic VII (Cont'd.) 



Suggested Sequence: 



in BSAM the user's task will be ter- 
minated on occurrence of error unless 
he supplies an EROPT other than ABEND. 
There is very little he can do in a 
SYNAD exit; he can't reset DCB error 
bits and cause the accessing method 
to continue processing an output 
file, for example. He could, however, 
note information he required for pro- 
gram restarting. 

QSAM - with or without SYNAD exit, 
EROPT is taken on error occurrence. 

BSAM - no SYNAD, then BSAM ABENDS. 
If SYNAD, then default assumption is 
ACCEPT. 

In BDAM processing, the system is 
more flexible. Prior to posting the 
Exception Code in DECB, BDAM resets 
permanent error flags in the DCB. 
The user then can test or not test 
the DECB bits and continue process- 
ing the data set. In the event of 
unrecoverable error, he should log 
information about the record that 
could not be read or written. 



Reference 



3) System execution programs, 
bier uses BSAM. 



EX: Assem- 



ABENDs on punch check (error 
correction provided only by QSAM) . 

On tape write error IOS prints 
permanent error message but 
assembler goes ahead. 

Late in assembly there may be an 
unidentified ABEND- -may be caused 
by OPEN trying to find a DD card 
for SYSPRINT or SYSPUNCH. 

2. Catastrophic Errors in the Channel or CPU 

a. Whenever a machine check occurs, the SER 
(System Environment Recording) interface 
is entered, some indicature information 
is stored, and the system is put into 
permanent wait state. (Computer disabled) 
The SEREP program should be executed and 
the system restarted by IPL. 



4.7.2 



Suggested Sequence: 



Topic VII (Cont'd.) 
Reference 



b. Channel errors (i.e., channel data check, 
channel control check, interface control 
check) are considered catastrophic and 
cause the SER interface routine to be 
entered. 

1) Models 30-50. These channel errors 
actually cause machine check inter- 
rupts; IOS is never entered. 

2) Models 65 and up. I/O interruption 
occurs, but IOS simulates machine 
check by loading the new MCH PSW. 

c. In these situations there is no ABEND 
dump; there are no messages. There is no 
choice but to re-IPL. 

B. General Logic of Error Handling Within IOS 



Appendix IV 



INSTRUCTORS' NOTE: 

Refer to chart. The IOS PLM presents 
showing how the entire I/O Supervisor 
how its modules interact with each ot 
of the outline we are not as concerne 
construction of IOS as with the servi 
procedures it performs for users. An 
made here to show what happens when a 
a tape read develops an error. Of pa 
are the times and the order in which 
trol program functions are executed f 
before completion is posted and the u 
entered. 



IOS logic in detail 
is constructed and 
her. In this section 
d with the logical 
ces and correction 
attempt has been 
user's request for 
rticular interest 
IOS and other Con- 
or a specific request 
ser's program is re- 



1. General Summary 

Between the time EXCP is executed and control 
returns to the user after the WAIT, IOS will 
execute the channel program, go through correc 
tional procedures, and perform all statistical 
updating and error logging procedures. The 
user need only test the completion code posted 
in ECB; he never needs to be concerned with 
forcing error recovery. 

2. Follow the general logic flow chart, and 
assume that a tape read error has occurred at 
the time that I/O Interrupt Supervisor is 
entered. 



Appendix IV 



a. In EXCP processing the user can set two 

flag bits - bits 4 and 5 of IFLGS (DCB+44) 



4.7.3 



Topic VII (Cont'd.) 

Suggested Sequence: Reference 

to ones to indicate that IBM-supplied 
error routines are not to be executed. 
The user would have to check sense and 
status bits in his own program to determine 
the severity of the error. 

b. Error Routine Scheduling 

1) Error routine may be entered follow- 
ing: 

a) Unit check 

b) Unit exception 

c) Wrong length 

d) Program, protection, and chain- 
ing check. 

2) 2311 error routines are mostly resi- 
dent and are entered directly. 

3) Others must be pulled in from SVCLIB. 3 
At SYSGEN time the identifier code 

of the error routine for this device 
type is placed in each device's 
UCB ERRTAB field. This field is 
attached to IGEOOOxx providing pro- 
gram fetch for the member name it 
must locate in SVCLIB. 

4) The user can supply his own error 
routine only by replacing the named 
module in SVCLIB. The error routines 
are re-entrant and execute from the 
400-byte IOS transmit area in super- 
visor mode, disabled for interrupts. 

5) The RQE for the request in error is 
queued onto an asynchronous exit 
queue (AEQ) to be used when the error 
routine reinitiates the channel pro- 
gram. Error routines are considered 
asynchronous . 

6) IOS then enters the contents super- 4 
visor and ultimately program fetch, 

which issues EXCP to get the error 
routine into the transient area. 

EXCP supervisor cannot distinguish 
this request from any other and will 



4.7.4 



Topic VII (Cont'd.) 

Suggested Sequence: Reference 

enqueue it as usual in a seek queue 
and later in a logical channel queue. 
This means that all previously queued 
requests for SYSRES and its channel 
are serviced before the request for 
loading an error routine; consequent- 
ly, there can be a significant wait 
before the error routine is actualy 
executed. 

The channel restart routines for the 
channel containing the error are not 
entered; thus, the channel and device 
will be free when the error routine 
is entered, unless other interrupts 
for device end on that channel occur 
in the meantime. 

c. Error Routine Execution 5 

1) Sense bits read into UCB and CSW bits 
stored in the IOB are examined and 
corrective procedures are set up. 

Some examples are: 

a) Tape read error - backspace and 6 
reread ten times and then back- 
space past tape error. Perform 
maximum of ten times for a total 

of 100 reads. These counts are 
kept in the IOB because the 
error routine may not remain 
in the transient area for the 
duration of the correction. 

b) Tape write - backspace 1 record, 
erase and rewrite. Perform a 
maximum of three times. 

NOTE: In tape processing if 7 
there is a mixture of command 
and data chaining, the error 
routine flags a permanent error 
and returns via abnormal end. 

c) Disk data errors - in general 8 
the entire channel program will 

be retried ten times. In case 
of an overrun, the task is ab- 
normally terminated if recovery 
is impossible. 



4.7.5 



Suggested Sequence: 



Topic VII (Cont'd.) 
Reference 



2) 



d) 2540 errors - no error recovery 
attempted unless QSAM is in con- 
trol and requests it. 

Equipment errors such as 
hole count, invalid card 
code, and buffer parity 
error are considered per- 
manent. 

If operator intervention 
is required, a message is 
typed. When the operator 
performs the right action, 
the last operation on the 
device is repeated. 

If error has not been corrected and 
is not yet considered permanent, the 
ERREXCP macro, specifying the RQE 
address, is executed to get the re- 
quest requeued into the proper logical 
channel. On return from EXCP super- 
visor, the error routine returns to 
the task supervisor awaiting inter- 
rupt . 

The transient area is now free and 
can be reused, if necessary. It is 
conceivable that the error routine 
for tape read correction might have 
to be fetched 100 times while attempt- 
ing to correct one error. 

The ERREXCP routine determines that 
an error routine is in control by 
testing the IOB error flag which was 
set by the error routine. 

If on I/O interrupt re-entry to the 
error routine the error is found to 
have been corrected, STATAB counters 
are updated, bits reset, and ERREXCP 
executed to get normal return to IOS 
where channel restarting and IOB post- 
ing procedures will be performed. 
Users program will be re-entered from 
task supervisor. 



4) If error recovery is found to be 

successful (100 reads on tape, valid- 
ity check on reader) , the error is 



3) 



4.7.6 



Topic VII (Cont'd.) 
Suggested Sequence: Reference 

marked permanent for IOS (IOB excep- 
tion bit), and the IBM error flag is 
reset. 

Statistical counters in core are 10 
updated. See chart for contents 
of these tables. 

The error routine XCTL's to the 11 
outboard recording routine (IOBR) . 

5) When ERREXCP is entered this last 
time, the error routine is no longer 
in control, the error condition per- 
sists, and no purging has been per- 
formed; ERREXCP then sets the DCB 
permanent error flags (IFLGS bits 
and 1) . If this IOB represents a 
request that is not related to any 
other, then control goes to the I/O 
interruption supervisor via abnormal 
end appendage exit. 

NOTE: Any further I/O requests in- 12 
volving the DCB with error flags on 
will be posted complete with permanent 
error, unless the USER of EXCP resets 
the IFLGS bits. 

6) Related requests 12 

a) Related channel programs are re- 
quests that are associated with 
a particular DCB and DEB within 
the same job step. 

b) QSAM's manipulation of multiple 
buffers provides an example of 
related requests. Each buffer 
has an IOB and a channel pro- 
gram. If an error develops in 
filling one buffer, then I/O 
operations cannot be scheduled 
for the others. All IOB's have 
the related bit set - Flags 1, 
bit 6, value of - and are 
logically linked together be- 
cause they all point to the same 
DCB. 

NOTE: BDAM constructs channel 
programs and IOB's dynamically 



4.7.7 



Topic VII (Cont'd.) 

Suggested Sequence: Reference 

and appears not to generate 
related requests. 

c) Handling of related requests in 

error situations. 12 

The PURGE routine is executed 
to find and remove from logical 
channel and seek queues all re- 
lated IOB's associated with the 13 
same DEB. The IOB's are then 
queued onto the DEB so that they 
may possibly be RESTOREd later. 
All are posted complete without 
exception and permanent error. 

You may restart the entire chain 
of requests by resetting the 
DCBIFLGS bits and issuing the 
RESTORE macro. 

3. Summary of Error Routine Discussion 

a. User has these choices in using error 
routines: 

1) Use the supplied error routines. 

2) Substitute new ones for those found 
in SVCLIB. 

3) Specify in DCB that no error recovery 
is to be attempted. 

b. There is no way to include error routines 
for I/O devices in a user program at ex- 
ecution time. 

However, user can insert extensions to 
IOS in SVCLIB, call them in at execution 
time, and somewhat modify the execution 
logic of IOS. 

C. Appendages To IOS 14 

1. Definition 

User written routines that provide additional 
control over I/O operations during channel pro- 
gram execution. They execute in supervisor 
state disabled for all interruptions except 
machine checks. 



4.7.8 



Topic VII (Cont'd.) 



Suggested Sequence: 



Reference 



2. Appendage routines can be inserted into 
SYS1.SVCLIB by link edit either at SYSGEN 
time or afterwards as part of a user's job. 
Appendage member names must be IGG019xx, where 
xx are two user-specified characters ranging 
from WA to Z9 in collating sequence. 

3. Using Appendages 

a. User specifies which appendage routines 

he wants by entering in his EXCP Data Con- 
trol Block the 2 character appendage ID 
codes. 

b. OPEN locates the appendages and pulls them 
into high core where they remain until the 
DCB is closed. These addresses are placed 
into an appendage vector table. If an 
exit is not specified, an address causing 
a return to IOS is inserted. IOS branches 
and links to an appendage routine at the 
appropriate time. 

4. Types of Appendages 

a. There are five appendage exits which are Appendix 
provided primarily for the use of the VIII 
standard accessing methods, but which can 
be used by EXCP programmers. (Refer to 
logic chart, Appendix VIII to see points 
at which appendage exists are taken.) 

1) End-of-Extent Appendage - This exit 
is taken during execution of the SIO 
module for DASD when it is found 
that a seek address is outside the 
boundaries of the extent specified 
in the DCB. The routine can: 

Initialize the seek address to 
the beginning of the next extent 
and indicate that the request 
is to be tried again. (Done by 
SAM if another extent exists.) 

Return control to IOS such that 
the IOB is posted complete with 
end-of-extent error (normal return) . 
(Done by SAM if no further extents. 
EOV could be executed to force 
secondary allocation.) 



4.7.9 



Suggested Sequence: 

2) 



3) 



4) 



Topic VII (Cont'd.) 
Reference 



SIO Appendage - This exit is taken 
from the SIO subroutine just before 
the SIO instruction is executed. 
User may bypass execution of the SIO 
instruction, in which case the IOB 
is not posted complete but the RQE is 
released; or he may return to IOS 
normally. 

Programmed Controlled Interrupt 
Appendage - This exit is taken just 
after the I/O supervisor has located 
the UCB of the device for which the 
interrupt occurred. 

A PCI interrupt occurs as soon as 
possible after the channel accesses 
a CCU with the PCI flag on. How soon 
this happens depends on whether or 
not the system is masked for inter- 
rupts on that channel. 

The SAM routines for chained schedul- 
ing use CCW's with the PCI flag on to 
let them know when each buffer speci- 
fied in a chain of channel commands 
is filled. Since channel and device 
end are indicated only at the end of 
the entire chain, there is no way for 
the CPU program to determine that a 
particular command has executed unless 
the PCI flag is on. Using PCI will 
allow a user to start processing data 
in one buffer while the next is being 
filled. IOS overhead is reduced, 
because only one SIO is needed for a 
chain and because very little inter- 
ruption analysis needs to be per- 
formed on PCI interrupt. 

Channel End Appendage - This exit is 
taken after I/O interrupt analysis 
has been performed and abnormal end 
conditions were found not to exist. 

SAM routines use this appendage to 
provide device independence when 
checking EOF on input files. If the 
input file is SYSIN and /* appears 
in columns 1 and 2 of the input 
record, the appendage routine sets 
the unit exception bit in the IOB so 



15 



4.7.10 



Topic VII (ContM.) 

Suggested Sequence: Reference 

that EOF looks the same for all se- 
quential devices. 

5) Abnormal End Appendage - This exit 
is taken twice: 

1st - when some error check 
condition arises with the channel 
end the first time the request 
is executed. 

2nd - On exit from error rou- 
tines when the error is found 
to be permanent. One user op- 
tion is to reset IOB error flags 
and error count fields and put 
the RQE back on a queue to be 
retried. 

5. Coding For Appendages 

a. DCB in User Program. 



EOEA 


» 


XX 


PCIA 


s 


XX 


SIOA 


3 


XX 


CENDA 


ss 


XX 


XENDA 


= 


XX 



Provide 2 byte appen- 
dage name code. 



b. Appendage Routine 



1) General register contents on entry 
to routine: 

Rl - address of RQE 

R2 - address of IOB 

R3 - address of DEB 

R4 - address of DCB 

R7 - address of UCB 

R14 - return address 

R15 - address of appendage routine 

Registers 10 and 11 in all routines 
may be used freely without saving 
and restoring them. 

2) Cautions: 

Do not destroy contents of Rl 
and reset R9 to binary zeros 
if it is used. 



4.7.11 



Suggested Sequence: 



Topic VII (Cont'd.) 
Reference 



Do not issue any instructions 
that would change the status of 
the system, such as WTO, LPSW, 
or SSM. 

Do not enter any loops testing 
for end of I/O operations. 

c. Class Problem - Part 2 of EXCP machine 
exercise 

In coding any appendage where the user 
manipulates system bits, he must know 
exactly how IOS uses them. 

In the channel end appendage, setting the 
unit exception bit is not enough to cause 
the IOB to be posted with permanent error. 
In addition, set these bits: 

IOB Exception bit in Flagl - causes 
error routine interface to be entered 
on exit from the appendage. 

DCB IFLGS permanent error bits - 
prevents execution of any other 
EXCP's for this Data Control Block. 



Appendix XV 



INSTRUCTORS* NOTE: 

See System Programmer's Guide for information on appen- 
dages, and Input/Output Supervisor PLM for detailed 
description of flag bits in the control blocks. 



4.7.12 



TOPIC VII 
REFERENCES 




REFERENCE 
CODE 



1 

2 

3 

4 

5 

6 

7 

8 

9 

10 

11 

12 

13 

14 

15 



36 
57 

35,81 
35 

38,82 
45 
82 
46 
41 
49 
50 

53 

79 



77 
78 



4.7.13 



ACCESS METHODS Topic VIII 

Suggested Sequence: Reference 

A. Introduction 

1. An access method is a routine or series of 
routines written by one or more individuals 
to access data records. 

2. There are several reasons for writing an 
access method. Among these are: 

a. Need for a specialized access method. 

b. Ease of coding for programmers to 
supported special devices. 

c. Unusual handling of record formats. 

B. Basic Rules for Use with Operating System/360 

1. The Data Management routines must be used. OPF VIII -1 

a. The Operating System requires certain con- 
trol blocks in several areas: 

1) Data Control Block (DCB) - filled in 
from DD card and data set label; used 
in OPEN and CLOSE. 

2) Data Extent Block (DEB) - checked 
for limits, linked with DCB and UCB. 

3) Event Control Block (ECB) - posted 
by I/O Supervisor. 

4) Other examples as needed. 

b. The Operating System requires certain 
macros to be used in all languages. 

1) OPEN - needed for identification of 
data sets with DD cards, for con- 
struction of DEB's, for label check- 
ing, etc. 

2) CLOSE - needed for construction of 
labels or label checking, for re- 
moval of DEB's, etc. 

3) Data transfer request macros (READ/ 
WRITE, GET/PUT, EXCP, XDAP) - needed 



4.8.1 



Topic VIII (Cont'd.) 

Suggested Sequence: Reference 

to cause execution of channel pro- 
grams. 

4) I/O device control macros (PRTOV, 

CNTRL, etc.) - needed to modify pro- 
grams. 

c. Example of QSAM 

1) OPEN modules determine that a sup- 
ported access method is being used 
and does the following: 

a) Stage 1: Constructs DEB 

Starts merge of DCB 

and JFCB 
Builds buffer pools 

b) Stage 2: Constructs IOB's and 

CCW's 
Completes merge of 
DCB and JFCB and 
Data Set Label or 
DSCB 

c) Stage 3: LOAD'S QSAM modules 

and establishes 
linkage from DCB. 

2) QSAM MODULES 

a) GET/PUT - Deblock/block logical 

records 

- Return or LINK to EOB 

b) EOB (End of block) 

- Issues EXCP to 
schedule I/O 

- Return to GET/PUT 
which LINK'S to ERRS 

c) ERRS (Synchronizer) 

- Tests ECB's for comple- 

tion 

- Issues WAIT if none 

complete 

- Update IOB address 

- Return to GET/PUT 



4.8.2 



Topic VIII (Cont'd.) 
Suggested Sequence: Reference 

2. The Data Management routines should not be 
modified. 

a. Programming Systems will disclaim any 
ownership to their routines if modified 
by a user. 

b. Updates to IBM-supplied routines would 
have to be checked to delete changes to 
user-modified routines. 

c. An extensive study of the macro defini- 
tions of IBM-supplied routines would have 
to be made by the user. 

3. Data Management routines can be combined or 
expanded. 

a. OPEN and CLOSE must always be specified. 

b. It is possible to combine routines such 
as BDAM and QSAM or BSAM and EXCP in the 
same program. The user can write a gen- 
eral routine to do this, transform this 
macro to a macro definition, and insert 
the macro into SYS1.MACLIB. Then to use 
the access method, he simply codes the 

macro name. (Examples in Appendix) Appendix 



c. Another possibility is to write a macro 

which will expand other macros. Example: 
A macro to build all control blocks for 
EXCP; user writes macro name and operands. 
The following section describes an exam- 
ple of this. XDAP is the macro being 
described. 

C. Execute Direct Access Program (XDAP) 

1. General Information 

a. Need for XDAP 

1) When not using standard access 
methods . 



XVI $ XVII 



4.8.3 



Topic VIII (Cont'd.) 
Suggested Sequence: Reference 

2) Requires less storage space than 
standard access methods. 

3) Requires less detailed coding than 
with EXCP. 

b. Description 

The XDAP macro instruction that may be OPF VIII- 2 
used to read, verify, or update data set 
blocks on a direct access volume. XDAP 
will generate control blocks and a desig- 
nated channel program necessary for read- 
ing or updating records through either 
the key of the block or block identifica- 
tion. 

c. XDAP Limitations 

1) Blocks cannot be added to a data 
set - EXCP may be used for this 
function if required. 

2) When block is located by identifi- 
cation, both key and data may be 
read or updated. 

3) When block is located by key, only 
the data may be read or updated. 

4) Block lengths are not verified. 

5) No blocking or deblocking of records. 

2. Requirements for Execution Opp viII-3 

a. DCB macro must be issued - Data Control 
Block is reserved at assembly time and 
partially filled. 

b. OPEN macro issued - initializes DCB and 
produces a DEB (Data Extent Block) . 

c. XDAP macro issued - generates another 

control block that may be logically OPF VIII-4 
divided into three sections: 

1) Event Control Block (ECB) which is 
supplied with completion code when 
channel program is terminated. 



4.8.4 



Topic VIII (Cont'd.) 
Suggested Sequence: Reference 

2) Input/Output Block which contains 
information about channel program. 

3) Direct Access Channel Program which 
consists of three CCW's. 

d. WAIT macro issued specifying the ECB. 

e. EOV macro issued if volume switching is 
necessary. 

f . CLOSE macro issued: 

1) When processing is completed. 

2) Restores the DCB. 
3. Programming Specifications 

a. DCB - Define Data Control Block 1 

EXCP form of DCB issued for each data 2 

set to be read or updated. 

b. OPEN - Initialize Data Control Block 

1) Initializes one or more DCB's so 
that their associated data sets can 
be processed. 

2) Some of procedures performed: 

a) Construction of DEB. 

b) Transfer of information from 
DD statements and data set 
labels from Data Set Control 
Block (DSCB) to the DCB. 

c) Verification or creation of 
standard labels. 

d) Loading of programmer-written 
appendage routines. 

3) Parameters of OPEN 

a) Address(es) of DCB(s) to be 
initialized. 

b) Method of processing (INPUT 
or OUTPUT) if neither stated, 
INPUT is assumed. 



4.8.5 



Topic VIII (Cont'd.) 
Suggested Sequence: Reference 

c. XDAP - Execute Direct Access Program 3 

1) Macro Instruction Format OPF VIII-5 



OPERATION 


OPERAND 


XDAP 


ecb-symbol,type- ,dcb-addr, 
area-addr, length- value, 
(Key-addr,Keylength value), 
blkref-addr 



ecb-symbol 



symbolic name assigned to 
XDAP control block. 



type - {R|W|VHI|K} 



specifies type of I/O 
operation and location 
method. 

R - read a block. 

W - write a block. 

V - verify contents of a 
block - do not trans- 
fer data. 

I - locate by identifica- 
tion. 

K - locate by key. 



address of the data control 
block of the data set. 

area addr 

address of an input or output 
area for a block of the data set. 

length-value 

number of bytes to be transferred 



deb -addr 



4.8.6 



Topic VIII (Cont'd.) 

Suggested Sequence: Reference 

includes key length if 
located by identification. 

Maximum bytes - 32767 

key-addr (optional) 

address in main storage of 
key when location is by 
key. 

keylength-value (optional) 

length in bytes of key. 

blkref-addr 

address in main storage 
of field containing actual 
device address of the track 
containing the block to be 
located. 

when located by key - 
7 bytes in form of 
MBBCCHH. 

when located by identi- 
fication - 8 bytes in 
form of MBBCCHHR. 

2) Produces XDAP control block that OPF VIII-6 
contains: 

a) ECB 4 

4 bytes in length. 

Begins on full word 
boundary. 

I/O Supervisor places 
completion code contain- 
ing status information 
upon channel program 
termination. 

WAIT-macro must be issued 
before testing "Complete 
Bit". 



4.8.7 



Suggested Sequence: 



b) 



c) 



Topic VIII (Cont'd.) 
Reference 



I OB 



40 bytes in length. 

immediately follows ECB. 

only fields of concern to 
XDAP user are "First Two 
Sense Bytes" and "Channel 
Status Word". 

these fields may have to 
be examined when unit 
check or I/O interruption 
occurs. 

Direct Access Channel Program 

24 bytes in length. 

immediately follows the 
IOB. 

one of four channel pro- 
grams generated (depending 
on I/O type specified) . 



OPF VIII-7 



Type of I/O 
Operation 



Read by Ident. 
* (Verify] 



I 



Read by Key 
* (Verify) 



Write by Ident 



Write by Key 



CCW 



Command Code 



Search ID Equal 

TIC 

Read Key § Data 



'I 



Search key Equal 

TIC 

Read Data 



Search ID Equal 

TIC 

Write Key § Data 



Search Key Equal 

TIC 

Write Data 



* If Verify option is specified, 
the third CCW is flagged for SKIP. 

4. XDAP Options 

a. To issue XDAP, you must provide the 

actual device address of the track con- 
taining the block to be processed. If 



4.8.8 



Topic VIII (Cont'd.) 

Suggested Sequence: Reference 

you know only the relative track address, 
you can convert it to the actual address 
by using a resident system routine. The 
entry to this conversion routine is labeled 
IECPCNVT. The address of the entry point 
is in the Communications Vector Table 
(CVT). The address of the CVT is in loca- 
tion 16. 

b. The conversion routine does all its work 7 
in general registers. You must load 
registers 0, 1, 2, 14 and 15 with input 
to the routine. 



4.8.9 



TOPIC VIII 
REFERENCES 




REFERENCE 
CODE 



71-78 

92-94 
95 
82 
96 

96-97 



31 



4.8.10 



CONTROL BLOCKS FORI/O 






DCB 



UNPROTECTED CORE 



PROTECTED CORE 



DEB 



O 

-o 
-n 

< 




XDAP 

(EXECUTE DIRECT ACCESS PROGRAM) 

READ 

WRITE (UPDATE) 

VERIFY 

• RELATIVE BLOCK 
•KEY 



O 
-n 
< 



i 



XDAP PROGRAMMING 



o 

-o 



GO 



PROGRAMMER 

AB DCB •• ..MACRF-(E), 

OPEN AB 



XDAP 


XECB,- • • 


WAIT 


ECB=XECB 


? 




EOV 


AB 


1 




CLOSE 


AB 



XDAP 















IOB* 


4 










[^ 


































v 














ECB* 




ccw's* 




DCB** 








UNPROTECTE 


D CORE 
CORE 








A 






PROTECTED 




, p 






^CREATED WITH EXPANSION OF XDAP 

(Compile Time) 

** PROGRAMMER- DEFINED 


DEB 










o 

-n 
< 

i 


*** CREATED BY OPEN 


UCB 





o 

-n 
< 



i 

en 



XDAP ECB1,RI,DCB1,INAREA1,58, , BLKID 



BLKID 


DS 


0CL8 


M 


DC 


CO 1 


BB 


DC 


COO' 


CC 


DC 


COO 1 


HH 


DC 


COO 1 


R 


DC 


CO' 





XDAP 


ECB1.RI, 


DCB1, INAREA1, 58, , BLKID 


+ECB1 


DC 


F'O' 




+ 


DC 


COO' 




+ 


DC 


COO' 


Sense Bytes 


+ 


DC 


A(ECBl) 




+ 


DC 


D(O) 


Channel Status Word 


+ 


DC 


F'O' 




+ 


DC 


A(DCBl) 




+ 


DC 


H'58' 




+ 


DC 


H'O' 




+ 


DC 


2F(0) 


MBBCCHHR 


+ 


CCW 






+ 


CCW 






+ 


CCW 







> IOB 



1 



CHANNEL 
PROGRAM 



o 

-o 



I 



o 

-o 
-n 

< 



XDAP CHANNEL PROGRAMS 



TYPE 


CCW 


COMMANDS 


READ BY ID 
* (VERIFY) 


1 

2 
3 


SEARCH ID EQUAL 

TIC 

READ KEY 8 DATA 


READ BY KEY 
* (VERIFY) 


1 

2 
3 


SEARCH KEY EQUAL 

TIC 

READ DATA 


WRITE BY ID 


1 

2 
3 


SEARCH ID EQUAL 

TIC 

WRITE KEY a DATA 


WRITE BY KEY 


1 

2 
3 


SEARCH KEY EQUAL 

TIC 

WRITE DATA 



* THIRD CCW IS FLAGGED FOR SKIP 



vj 



DEVICE SUPPORT Topic IX 

Suggested Sequence: Reference 

A. Introduction 

1. This topic is designed to give an approach 

to use to cause the control program to recog- 
nize a device for which there is no available 
Type I programming support. This method will 
be used for implementing the device for storage 
of non-system data sets ( not SYSRES, SYSIN, 
SYSOUT, Cataloged ControlTolume) . 

INSTRUCTORS' NOTE: 



The prerequisite for understanding this topic is reading 
the introductory pages of Input/Output Supervisor PLM 
(Y28-6616) 

2. The outline will be concerned primarily with 
using as many features of the control program 
as possible with a minimum of modification. 

B. Operating System Requirements 

1. The Operating System must be able to handle 

all devices within the system in the following 
ways : 

a. Allocation 

1) The Job Management routines must be 
able to recognize the device by a 
UNIT name and handle mounting and 
disposition of data sets. 

2) If this is a direct access device, 
it should be possible to use the 
Direct Access Device Space Manage- 
ment routines. 

b. Access of the Device 

1) The I/O supervisor must be able to 
start an I/O request, enqueue re- 
quests, interrupt processing, etc. 

2) The I/O interrupt handler must be 
able to recognize channel interrupts 
and pass control to the appropriate 
routine in case of error. 

3) The lowest level of coding for the 
user will be EXCP. (In some cases 

it may be possible to use BSAM, QSAM, 
XDAP, etc.) 



4.9.1 



Topic IX (Cont'd.) 

Suggested Sequence: Reference 

2. These control blocks are required by the system 
to perform its functions. 

a. Unit Control Block (UCB) OPF IX-1 

1) This control block must be created 

at System Generation time and must be 
contained in the nucleus. ^ 

2) It will be 24, 40, or 10& bytes long 
depending on the device type (unit 
record, tape, or direct access). 

3) It will contain such information as: 

Actual channel and unit 
address . 

EBCDIC unit name. 

An indexing value into the 
device class table (for 
device dependent start I/O, 
enqueue, etc.) . 

An indexing value into the 
attention interrupt table. 

A numeric constant to be 
appended to the constant 
IGE0000 to form the name 
of an error routine located 
in SYS1.SVCLIB. 

b. Data Extent Block (DEB) OPF IX-2 

1) This control block is built in pro- 
tected core by the Access Method 
Executor at OPEN time. (Ref. p. 20, 
PLM, Y28-6605) 

2) This block contains such information 
as : 

Number of extents specified 
in DSCB's. 

Address of DCB. 

A device modifier (such 
as a Set Mode code or file 
mask) . 



4.9.2 



Topic IX (Cont'd.) 

Suggested Sequence: Reference 

Address of UCB associated 
with this extent. 

Cylinder, track addresses 
for start of an extent limit. 

Cylinder, track addresses 
for end of an extent limit. 

Access method dependent fields. 

c. Data Control Block (DCB) OPF IX-3 

1) This control block is built in the 
user's program area. 

2) OPEN establishes a pointer to the 
DEB and IOB. 

d. Input/Output Block (IOB) 

1) This control block is built in the 
user's program at the EXCP level. 

2) It contains a pointer to the DCB, to 
the CCW list, and to the ECB that will 
be posted at completion of the I/O 
request. 

e. Event Control Block (ECB) 

1) This control block is built in the 
user's program. 

2) It is posted with a completion code 
by the I/O supervisor at the end of 
a channel program. 

C. Supporting the Device 

1. Defining the Unit Control Block. 

a. System Generation OPF IX-4 

1) The CHANNEL, IOCONTROL, and IODEVICE 
macros supplied as input to Stage 1 
of the System Generation process 
determine the device types to be 
included in the new system. Only 
those devices listed as supported in 
the Systems Generation SRL will 
generate properly. 



4.9.3 



Topic IX (Cont'd.) 
Suggested Sequence: Reference 



INSTRUCTORS 1 NOTE: 

It is possible to specify unit number for certain unsup- 
ported (as yet) devices and perform the SYSGEN process; 
but to determine which are included, it is necessary to 
study the global switch settings in the SGGEN100 macro 
in SYS1.GENLIB. 



2) Output from Stage 1 consists of a OPF IX- 5 
series of macros to be assembled. 

The IECIUCB macro will be generated 
for each device defined by an IODEVICE 
macro. The operands of the macro 
are as follows: 

a) UCB sequential number. 

b) Actual device address. 

c) Class of device (UR, TP, TA, DA). 

d) Device table index value. 

e) Error routine hexadecimal suffix. 

f) Statistical table index value. 

g) Logical channel index value. 

h) Assigned UNIT NAME (EBCDIC). 

i) UCB type (over-runnable, burst 
or byte mode, data chaining, 
device class, unit type, model, 
features) . 

j) Allocation channel mask. 

k) Status bits A (4-7) - (perma- 
nently resident) . 

1) Seek queue option (FIFO, ordered 
seek) . 

3) Explanation of foil OPF IX-6 

a) This is the eighth UCB defined. 

b) It is located on Channel 1, 
control unit 4, device 0. 

c) It is a magnetic tape unit. 

4.9.4 



Topic IX (Cont'd.) 
Suggested Sequence: Reference 

d) The device table index value is 
18. 

e) The error routine used will be 
IGE0000I from SYS1.SVCLIB. 

f) The statistics table index value 
is 7. 

g) The logical channel index value 
is 1 . 

h) The UNIT NAME 140 has been 
assigned. 

i) This is a burst mode device (3) . 
It will permit data chaining, 
has no model code (0) , has no 
optional features (00), is a 
magnetic tape device (80) , and 
is a 2400 series magnetic tape 
(01). 

j) 64 is the allocation channel 
mask. 

k) The volume will not be permanent- 
ly resident. 

1) There is no seek queue option. 

4) The way to support the unsupported 
device is to generate an IECIUCB 
macro for a supported device and then 
change the operands in the macro 
before executing Stage 2 of the 
Systems Generation process. 

b. Supported UCB Types 

1) Direct Access OPF IX-7 

a) 100 bytes long (See I/O Super- 
visor) . 

b) Contains an index into an I/O 
supervisor device table which 
points to queuing modules, start 
I/O modules, and trap modules. 
The direct access start I/O 
module will always perform a 
stand alone seek and prohibit 
any seeks in the problem program 



4.9.5 



Topic IX (Cont'd.) 
Suggested Sequence: Reference 

list of CCW's. 

2) Tape OPF IX-8 

a) 40 bytes long. 

b) Contains an index into a device 
table, containing a pointer to 
queuing modules, start I/O 
modules, and trap modules. The 
tape start I/O module will issue 
a set mode command. 

3) Unit record or teleprocessing OPF IX-9 

a) 24 bytes long. 

b) Contains an index into the de- 
vice table, which holds a point- 
er to queuing modules, start 
I/O modules, and trap modules. 
The unit record start I/O module 
issues no control commands. 

4) If a user should need a UCB of larger 
than 24 bytes (UR size), but does not 
want control commands to be issued 
before his channel program, he may 
specify a unit record device in the 
IODEVICE macro as input to Stage 1 

of SYSGEN to obtain an index value 
point to the unit record start I/O 
module. He would then have to change 
the IECIUCB macro device type to TA 
or DA, depending on the number of 
bytes needed. 

EX: Stage 1 Output IECIUCB. .,.. ,UR, . . 
Change to IECIUCB. .,.. ,DA, . . 

c. Device Types 

1) Teleprocessing 

a) All reference must be at EXCP 
level. A thorough knowledge of 
types and time of interrupt is 
required. 

b) Implementation 



4.9.6 



Suggested Sequence: 

The SYSGEN process will accept: 
IOCONTROL UNIT-2702, 
IODEVICE UNIT=1050,ADAPTER=IBM 1,SETADDR=1 



Topic IX (Cont'd.) 
Reference 



INSTRUCTORS' NOTE: 








This 


information was found in SYSl 


.GENLIB. 






The 


generated 


macro will 


contain: 








IECIUCB 


, , TP f 1 


30, 






The 

(00) 

SYSl 


user must 
and inco 1 
.SVCLIB. 


change the 
rporate his 


error suffix 
error routine 


value 
into 



2) 



c) Attention interrupts (request 
key or graphics light pen) are 
not recognizable to the system 
except from the console. Atten- 
tion interrupt routines can only 
be included by modifying the IOS 
attention table. This means 
modification of the IECIOS macro 
on SYSl. GENLIB. The attention 
index value in the UCB must also 
be changed, but since there is 
no parameter in the IECIUCB 
macro, this means modification 
of the IECIUCB macro in 
SYSl. GENLIB or a user SVC rou- 
tine at IPL time to write in 
the correct value. 

Unit record 

a) The SYSGEN process will allow 

1403, 1443, 2671, 2540R, 2540P, 
1442, 2501*, 2520* at initial 
release. (*No error routines) 



INSTRUCTORS' NOTE : 

Check current release to find out what is currently supported 



b) The IECIUCB macro can then be 
changed for the unsupported 
device. (Error suffix, device 
type for longer than 24 bytes.) 

3) Magnetic Tape 

a) Must determine whether standard 
error routines are to be used. 



4.9.7 



Topic IX (Cont'd.) 



Suggested Sequence: 



4) 



2. 



b) Start I/O module will issue a 

set mode command. If user wants 
to write his own (EXCP level) , 
he can define IODEVICE as unit 
record for Stage 1 and change 
device type for Stage 2. 

Direct Access 

a) May require modification of de- 
vice characteristics table and 
error routines. 

b) Some kind of DASD1 program must 
be run to write: 



HA 

Ro 

Track descriptor records 

Volume label 

VTOC 



Naming the Device 

a. The device name table and device mask 
table are built from the macros SGIEF010, 
SGIEF011, and SGIEF015 (output of Stage 1) 
These tables are used by Job Management 

in allocating devices from the UNIT s xxx 
parameter in the DD card. 

b. The device name table (DEVNAMET) contains 
an entry for every: 

1) UNIT (2311, 2400, etc.) 

2) ADDRESS (00C, 180, 290, etc.) 

3) User name specified in UNITNAME 
macro. 

c. The device mask table (DEVMASKT) contains 
a count of the number of devices assigned 
to a name and the relative position of 
each device in the UCB lookup table. 

d. Effect of changing device type code in 
UCB on allocation procedures. 



Reference 



Appendix 
XII 



Appendix 
XIII 

Appendix 
XIV 



4.9.8 



Topic IX (Cont'd.) 
Suggested Sequence: Reference 

EX: SYSGEN five 2311 's, change one to 2302. 

1) Allocation by device assigned (00C, 
180, etc.) is not affected. 

2) Allocation by device name (2540, 2311, 
etc.) will reference only UCB's not 
altered, but may at certain times 

be a problem, since the DEVMASKT has 
not been updated to show four rather 
than five 2311's. 

3) Allocation by user-defined name (at 
SYSGEN) should always work. 



INSTRUCTORS' NOTE : 

Appendices XII, XIII, XIV, and XVIII are examples of device support. 
When these devices are supported by a released version of the 
360 Operating System, you may find it necessary to use additional 
examples . 



4.9.9 



UNIT CONTROL BLOCK 



+ 
+ 4 
+ 8 
+ 12 
+ 16 
+ 20 



4 BYTES 



ilJOB INTERNAL NO^ 



^ 



FLAGS 1/CHANADDR 



ERRTAB 



mmmmwj 



ALLOC CHAN MASK! 



UNIT ADDRESS X 



STATAB 



UCB 



FLAGS2 



LCHTAB 



"fSTAf US "i"™*®* 



DEVTAB 



ANTAB 



UNIT NAME 



DEVICE TYPE^ 



LAST REQUEST 



SENSE 



ALL 
DEVICES 



O 



x 

i 




+ 40 
+ 44 
+ 48 
+ 52 
+ 56 

+ 60 



SEEK QUEUE 



CONTROL WORD 



LAST 



SEEK ADDRESS 



^CURRENT USERS ^ 



k\<A WMUWMM. W. «AV 



rrrwrrwrrr 



MAWAkW.VMW.WW. W kkkkl-vvvvl. kkkkk 



DIRECT- ACCESS ECB ADDRESS^ 



WORK AREA 



X The X areas are loaded at system generation time; all except ATNTAB, which 
system routines, remain constant. 

m The I/O supervisor does not use the shaded fields. 



7 

is changed by 



t 
TAPE OR 

DIRECT 

ACCESS 



! 



DIRECT 

ACCESS 

ONLY 



DATA EXTENT BLOCK 



O 



X 

to 



~I6 

- 4 


+ 4 
+ 8 
+ 12 
+ 16 
+ 20 
+ 24 
+28 

+32 

+32 
+36 
+40 
+44 



4 BYTES 



^\\\\\Y\\\\\^3^\\\^^ 






PREFIX 



^^^NMSUB^^g 


TCB ADDRESS 


ill AM lengthIII 


NEXT DEB ADDRESS 


llOPEN FLAGSl|| 


IRB ADDRESS 


OPEN FILE TYPES 


SYSTEM PURGE CHAIN 


NMEXT 


USER PURGE CHAIN 


PRIORITY 


PURGE LIST ADDRESS 


PROT TAG 


DEB ID 


DCB ADDRESS 


EXTENT SCALE 


APPENDAGE VECTOR TABLE ADDRESS 



BASIC 



MODE SET BYTE 


UCB ADDRESS 



FILE MASK 


UCB ADDRESS 


B 


B 


C (START) 


C 


H (START) 


H 


C (END) 


C 


H (END) 


H 


NMTRK 



TAPE OR 

UNIT RECORD 

DEVICE 

DEPENDENT 



t 




^^ The I/O suDervisor does not use the shaded fields. 



t 

DIRECT 
ACCESS 

i 

ACCESS METHOD 
DEPENDENT AND 
SUBROUTINE 
SECTION 



CONTROL BLOCKS FORI/O 





UNPROTECTED CORE 



PROTECTED CORE 



DCB 



DEB 



O 

HO 



X 

I 

CO 




SYSTEM GENERATION INPUT 



CHAN 1 CHANNEL ADDRESS = 1 , 

TYPE = SELECTOR 
TAPECNTL 10 CONTROL UNIT = 2804, ADDRESS = I4, 

M0DEL=2 
TAPE 1 10 DEVICE UNIT = 2402, ADDRESS = 140, 

M0DEL = 2,FEATURE=9- 

TRACK 



O 



X 

i 



IECIUCB MACRO 



IECIUCB 



o 



X 

en 



(UCB seq.no.), X 

(actual device address), X 

(class of device), X 

(device table index value), X 

(error routine suffix), X 

(statistical table index value), X 

(logical channel index value), X 

(assigned unit name-EBCDIC), X 

(UCB type), X 

(allocation channel mask), X 

(status bits), X 
(seek queue option) 



IECIUCB MACRO 



IECIUCB 8,140, TA,I8,09, 7,1, 140,30008001,64,9,0 



(2400 SERIES-9-TRACK MAGNETIC TAPE 
WITH A DEVICE ADDRESS OF 140) 



O 

Tt 
>< 



DIRECT ACCESS START I/O 



SIO MODULE 



USER CCW'S 



O 



I 




TAPE START I/O 



SIO MODULE 



USER CCW'S 



O 



X 

I 

00 




UNIT RECORD I/O 



SIO MODULE 



USER CCW S 



SIO 



o 



X 

I 



c 

a) 

o 

< 



Section 5 



Appendix 1 



JOB MANAGEMENT 



Master Scheduler 



Reader/ Interpreter 



Initiator/Terminator 



CONSOLE INTERRUPT ROUTINE 



FUNCTION: Provides the supervisor with the information 
necessary to give control to the routine that 
is to receive it when an attention interruption 
is processed . 



CONTROL ROUTINE 



FUNCTION: Reads and interprets control statements passing 
control to the proper statement processing 
routine. 



MASTER COMMAND EXCP ROUTINE 



FUNCTION: Processes the CANCEL, DISPLAY, MOUNT, 
REQ, START, STOP, UNLOAD and LOAD 
commands. 



JOB ROUTINE 



FUNCTION: Performs JOB statement analysis and con- 
structs the Job Control Table from its con- 
tents. 



MASTER COMMAND ROUTINE 



FUNCTION: Analyzes command verbs and gives control to 
the proper command execution routines. 



EXECUTE ROUTINE 



FUNCTION: Performs EXEC statement analysis and con- 
structs the Step Control Table from its 
contents. 



WRITE-TO-OPERATOR ROUTINE 



FUNCTION: Processes messages to operator and operator 
replies. 



DATA DEFINITION ROUTINE 



FUNCTION: Performs DD statement analysis and constructs 
the Job File Control Block and the Step l/O 
Table from its contents. 



EXTERNAL INTERRUPT ROUTINE 



FUNCTION: Handles switch to alternate console when 
external interruptions occur. 



Al-1 



SYSTEM CONTROL ROUTINE 



FUNCTION: Performs housekeeping requirements as first 
step in initiating a job. 



2 EXECUTE STATEMENT CONDITION CODE ROUTINE 



FUNCTION: Processes condition codes specified in EXEC 
statement . 



JFCB HOUSEKEEPING CONTROL ROUTINE 



FUNCTION: Determines and directs control to proper 
JFCB processing routine. 



ALLOCATION CONTROL ROUTINE 



FUNCTION: Performs Initiator/Terminator housekeeping 
for allocation and setup. 



DEMAND ALLOCATION ROUTINE 



FUNCTION: Constructs the allocate work and volume 

tables and begins devices assignment to data 
sets that are assigned specific devices. 



AUTOMATIC VOLUME RECOGNITION ROUTINE 



FUNCTION: 



Performs allocation of devices on which 
volumes are mounted. 



DECISION ALLOCATION ROUTINE 



FUNCTION: Allocates remaining devices not already al- 
located by other allocation routines. 



TIOT CONSTRUCTION ROUTINE 



FUNCTION: Obtains space for and builds the TIOT for 
the processing program. 



EXTERNAL ACTION ROUTINE 



FUNCTION: Issues mounting instructions, verifies 

correctly mounted volumes, and unloads 
incorrectly mounted ones. 



10 



SPACE REQUEST ROUTINE 



FUNCTION: 



Processes request for spcce on direct access 
device volumes. 



ALLOCATION ERROR ROUTINE 



FUNCTION: Processes error conditions occuring during 
allocation and setup. 



12 



•STEP INITIATION ROUTINE 



FUNCTION: Performs all initiation operations required 
before control is passed to the processing 
program . 



13 



STEP TERMINATION ROUTINE 



FUNCTION: Performs general task termination procedures 
in addition to passing control to appropriate 
routines for disposition and unallocation of 
data and processing condition codes. 



14 



JOB TERMINATION ROUTINE 



FUNCTION: Performs general job termination procedures in 
addition to passing control to the appropriate 
routine to release job queue, performing 
disposition and unallocation, and user 
accounting. 



n. 



TASK MANAGEMENT 



Interruption Supervision 




Main Storage Supervision 



Contents Supervision 



Overlay Supervision 



Til 



SVC FLIH ROUTINE 



FUNCTION: The supervisor call first level interruption 

handler does the introductory work following 
an SVC interruption, and prepares for the 
execution of type 1 SVC's. 



SVC SLIH ROUTINE 



FUNCTION: The supervisor call second level interruption 
handler monitors the SVC transient area and 
prepares for the execution of types 2,3, and 
4 SVC's. 



TYPE 1 EXIT ROUTINE 



FUNCTION: Performs SVC type 1 existing procedures going 
to the dispatcher for task switching or to the 
interrupted program . 



EXIT ROUTINE 



FUNCTION: Performs the dequeuing of the SVRB from the 
TCB's active RB and passes control to the 
dispatcher. 



DISPATCHER ROUTINE 



FUNCTION: Passes control among routines, handles 
asynchronous exits and monitors the I/O 
Supervisor transient area. 



I/O FLIH ROUTINE 



FUNCTION: The input/output first level interruption 

handler performs machine interruption super- 
vision and insulates the input/output inter 
ruption from other types of interruption. 



T/E FLIH ROUTINE 



FUNCTION: The timer/external first level interruption 

handler performs operations for interruptions 
caused by the hardware timer and the con- 
sole key and passes control to appropriate 
handling routines. 



ATTACH ROUTINE 



FUNCTION: Locates requested routine, controls required 
RB queueing and post event control block 
when necessary. 



EXTRACT ROUTINE 



FUNCTION: 



Performs all operations required in changing 
fields of the users' list. 



1 GETMAIN ROUTINE 


FUNCTION: 


Allocates storage to tasks according to re- 
quirements. 




2 


FREEMAIN ROUTINE 


FUNCTION: 


Releases specified storage space on request. 



LINK ROUTINE 



FUNCTION: Passes control from the issuing routine to 

another routine in such a way that the issuing 
routine regains control at completion of the 
second routine. 



OVERALY SUPERVISOR 1 



FUNCTION: A resident routine that performs initialization 
procedures, links to Overlay Supervisor 2 
and after regaining control, performs the re- 
maining termination procedures and issues 
an SVC EXIT instruction. 



LOAD ROUTINE 



Searches the loaded program list for requested 
routine and passes control to FINCH when the 
routine requires loading. 



SPIE ROUTINE 



FUNCTION: Sets flags that indicate the user has program 
interruption control . 



XCTL ROUTINE 



FUNCTION: 



Passes control from issuing routine to a 
requesting routine. 



OVERLAY SUPERVISOR 2 



This routine is envoked when a requested pro- 
gram is an overlay program performing the 
remaining initialization procedures, loading 
the requested segments, updating the segment 
table and entry tables, and performing some 
termination procedures. 



WAIT (Single Event) ROUTINE 



FUNCTION: Performs status checking of wait by bit test of 
ECB passing control to proper routines. 



IDENTIFY ROUTINE 



Builds, initializes, and chains to the load list 
a minor RB for the routine specified by the 
issuer of the macro. 



1 


FUNCTION: 


Sei 

sp< 
de 
int 




2 


FUNCTION: 


P 
c 




3 


FUNCTION: 


R 

a 




4 


FUNCTION: 


n 



WAIT (Multiple Event) ROUTINE 



FUNCTION: Performs status checking of wait count and 

ECB indicators plus enabling caller for input/ 
output and external interruptions. 



DELETE ROUTINE 



FUNCTION: Reduces the RB use count of the loaded routine 
by one and when it becomes zero frees 
storage occupied by associated routine. 



POST ROUTINE 



FUNCTION: Checks status of ECB bits and performs proper 
control transfer. 



SYNCH ROUTINE 



FUNCTION: 



Creates, initializes and queues program 
request blocks. 



ABTERM ROUTINE 



FUNCTION: 



Schedules the abnormal termination of task 
for systems routines. 



FINCH ROUTINE 



FUNCTION: Retrieves specified routines from auxiliary 
storage . 



ABEND ROUTINE 



FUNCTION: Terminates all internal activities both for 
normal and abnormal termination of the 
current task . 



P-FLIH ROUTINE 



FUNCTION: The program first level interruption handler 
performs operations and passes control for 
all program interruptions. 



MK-FLIH ROUTINE 



FUNCTION: The machine check first level interruption 
handler places machine in a wait state or 
passes control to Systems Environment 
Recording. 



VALIDITY CHECK ROUTINE 



FUNCTION: Performs a common function for the system 
routines preventing program interruption 
caused by invalid addressing. 



Al-3 



I. 



TASK MANAGEMENT 



Main Storage Supervision 



Contents Supervision 



Overlay Supervision 



Time Supervision 



Program FETCH 



quired 
ock 



1 GETMAIN ROUTINE 


FUNCTION: 


Allocates storage to tasks according to re- 
quirements. 




2 


FREEMAIN ROUTINE 


FUNCTION: 


Releases specified storage space on request. 



LINK ROUTINE 



Passes control from the issuing routine to 
another routine in such a way that the issuing 
routine regains control at completion of the 
second routine. 



LOAD ROUTINE 



FUNCTION: Searches the loaded program list for requested 
routine and passes control to FINCH when the 
routine requires loading. 



XCTL ROUTINE 



FUNCTION: 



Passes control from issuing routine to a 
requesting routine. 



IDENTIFY ROUTINE 



FUNCTION: Builds, initializes, and chains to the load list 
a minor RB for the routine specified by the 
issuer of the macro. 



OVERALY SUPERVISOR 1 



FUNCTION: A resident routine that performs initialization 
procedures, links to Overlay Supervisor 2 
and after regaining control, performs the re- 
maining termination procedures and issues 
an SVC EXIT instruction. 



OVERLAY SUPERVISOR 2 



FUNCTION: This routine is envoked when a requested pro- 
gram is an overlay program performing the 
remaining initialization procedures, loading 
the requested segments, updating the segment 
table and entry tables, and performing some 
termination procedures. 



STIMER ROUTINE 



FUNCTION: Sets an interval into a software interval timer, 
specifies when that interval timer is to be 
decremented and what action is taken when 
interruptions signal completion of the interval. 



TIME ROUTINE 



FUNCTION: 



Places the time of day in register and the 
current day in register 1 . 



TTIMER ROUTINE 



FUNCTION: 



Records remaining time interval in register 
or cancels previously specified intervals. 



FUNCTION: 



Monitors all types of interval expirations and 
maintains the queue of time interval requests. 



INITIALIZATION/TERMINATION ROUTINE 



FUNCTION Performs the job of a relocation loader which 

brings a program module processed by the 
linkage editor from secondary storage into a 
single area of storage and computes the 
modules entry point. 



LOADING ROUTINE 



FUNCTION: 



Reads text and RLD records of a load module 
into main storage. 



RELOCATING ROUTINE 



FUNCTION: Adjust values of address contents to reflect the 
relocation of a module that has been loaded 
into main storage. 



ind 
input/ 



DELETE ROUTINE 



FUNCTION: Reduces the RB use count of the loaded routine 
by one and when it becomes zero frees 
storage occupied by associated routine. 



SYNCH ROUTINE 



Creates, initializes and queues program 
request blocks. 



f task 



FINCH ROUTINE 



FUNCTION: 



Retrieves specified routines from auxiliary 
storage . 



l for 

he 



m. 



DATA MANAGEMENT 



Input/Output Supervisor 



OPEN/CLOSE/EOV 




EXCP SUPERVISOR 



FUNCTION: The EXCP Supervisor tests channels for acti' 
vity, handles enqueuing and dequeuing, 
handles SIO, and performs EXCP validity 
checking. 



I/O INTERRUPT SUPERVISOR 



FUNCTION: Performs UCB lookup, l/O interruption 

analysis, channel search and restart, l/O 
purge and handles trapcodes. 



OPEN ROUTINE 



FUNCTION: Performs volume verification, label checking, 
control block information, and determining 
access method routines. 



RDJFCB ROUTINE 



FUNCTION: Reads into the dynamic area the JFCB's 

associated with the DCB's in the parameter 
list. 



CLOSE ROUTINE 



FUNCTION: Performs labeling operations, purges queued 
and active I/O requests associated with data 
sets that are being operated on at the EXCP 
level, and keeps track of the access method 
executors and close modules necessary for 
closing each DCB. 



EOV ROUTINE 



FUNCTION: Processes end-of-volume and end-of-data set 
conditions for data sets having sequential 
organization . 



1 




ALLOCATE ROUTINE 




FUNCTION: 


Allocates initial space to data sets. 




2 




EXTEND ROUTINE 




FUNCTION: 


Allocates additional space to a data set at 
end-of-volume. 




3 




SCRATCH ROUTINE 




FUNCTION: 


Deletes data sets by deleting their respective 
data set control blocks. 




4 




RELEASE ROUTINE 




F"NCTION: 


Returns unused data set space to available 
storage when a data set is closed. 




5 




RENAME ROUTINE 




FUNCTION: 


Changes the name of a referenced data set. 




6 




OBTAIN ROUTINE 




FUNCTION: 


Obtains direct access to any block in the 
VTOC. 



Al-5 



m. 



DATA MANAGEMENT 



OPEN/CLOSE/EOV 




Catalog Management 



OPEN ROUTINE 



FUNCTION: Performs volume verification, label checking, 
control block information, and determining 
access method routines. 



RDJFCB ROUTINE 



FUNCTION: Reads into the dynamic area the JFCB's 

associated with the DCB's in the parameter 
list. 



CLOSE ROUTINE 



FUNCTION: Performs labeling operations, purges queued 
and active I/O requests associated with data 
sets that are being operated on at the EXCP 
level, and keeps track of the access method 
executors and close modules necessary for 
closing each DCB. 



EOV ROUTINE 



FUNCTION: Processes end-of-volume and end-of-data set 
conditions for data sets having sequential 
organization . 



1 




ALLOCATE ROUTINE 




FUNCTION: 


Allocates initial space to data sets. 




2 




EXTEND ROUTINE 




FUNCTION: 


Allocates additional space to a data set at 
end-of-volume. 




3 




SCRATCH ROUTINE 




FUNCTION: 


Deletes data sets by deleting their respective 
data set control blocks. 




4 




RELEASE ROUTINE 




F"NCTION: 


Returns unused data set space to available 
storage when a data set is closed. 




5 




RENAME ROUTINE 




FUNCTION: 


Changes the name of a referenced data set. 




6 




OBTAIN ROUTINE 




FUNCTION: 


Obtains direct access to any block in the 
VTOC. 



CATALOG ROUTINE 



FUNCTION: Finds entries in the catalog; inserts, deletes, 
or replaces data set pointer entries, volume 
control block pointer entries, and volume 
control blocks; and enters into and deletes 
from the catalog the indexes, generation index 
pointer entries, index pointer entries, control 
volume pointer entries and alias entries. 



CVOL ROUTINE 



FUNCTION: Provides services to the catalog routine by 
opening catalog data sets for processing and 
by writing format blocks in new catalog 
data sets. 



Appendix 2 



LRB 



PRB 



PRB 



PRB 



„ INACTIVE fc 



H(T REQUEST BLOCK 



LPRB 



LRB 



LRB 



LPRB 



LOADED 



FUNCTION ' CONTROLS LEVELS OF 
CONTROL AMONG VARIOUS 
PIECES OF CODING EX- 
ECUTED AS PART OF 
. ONE TASK. 

CREATION ' 1 OR MORE/TASK BUU-T 
BY TASK SUPERVISOR IN 
MAIN STORAGE FOR LIFE 
OF TASK 

I NFO FP QM'SCT 

INFO TO " DISPATCHER 8 INTERRUPT 
HANDLERS 

t TO " TCB, NEXT RB 



SIRB 



IRB 




SVRB 









PRB 



ACTIVE 



NOTE: 



FLAGS IN RB INDICATE r*- 

THE TYPE OF REQUEST ' 

BLOCK, LRB, LPRB, PRB I 
IRB, SIRB AND SVRB 



JOB CARD 

DELIMITS 
A JOB 



n 



JCT 



FUNC TION: RECORDS ATTRIBUTES OF 

JOB AND JOB STEPtS) 

CREATION: 1/JOB CARD, BUILT BY 

ia - R/I ON D/A FOR LIFE 

OF THE JOB 
INFO FROM: JOB . EXEC CARDS 
INFO TO: I£fi 
I tTQ : SCT (1st), ACT 






EXEC CARD 
DELIMITS A 
JOB STEP - 



"t- 



SCT 



t-J 



FUNCTION: RECORDS ATTRIBUTES OF 

ONE JOB STEP 

CREATION: 1/EXEC CARD, BUILT BY 

R/I ON D/A FOR LIFE 

OF THE JOB 
INFO FROM: EXEC CARD 

Q TO: 1101, ICB, RB 

TO: SIOT (CONTIGUOUS WITH 

~ SCT); ACT 



DD CARD(S) 



■r- 

-\— 

i 



I 



["DISK' 



TAPE- 



J 



VOLUME LABEL 



I VOLUME TABLE OF CONTENTS 
| (VTOC) 



VOLUME 
LABEL 



DATA 

SET 

LABEL 



-r 



SIOT 



FUNCTION: RECORDS I/O DEVICE RE- 
QUIREMENTS OF ONE JOB 

STEP FOR ASSOCIATED 

DATA SETS 
CREATION: 1/£XEC CARD, ONE 

ENTRY/ED. CARD BUILT 

ON D/A BY R/I FOR LIFE 

OF JOB 
INFO FROM: JOB , JD_P_ CARDS 
INFO TO : TIOT 
fTO: JFCB .NEXT SIOT 



I 



DSCB 



function: acts as a label for out- 

put data sets to be 

created by one job 
step on d/a 
1/d/a output data set, 
built by dadsm at initi- 
ator time (name and 
Extent of data sets) ) 
and completed at open 
time; each dscb is part 

OF THE VTCmT aND EXISTS 
ON D/A FOR LIFE OF THE 
DATA SET 
JFCB , DCB 
JFCB ■ DEB 
ASSOCIATED DATA SET 

FOR NON D/A, STANDARD 
HEADER LABEL SUFFICES 



INFO FROM: 
INFO TO: 



±10: 



NOTE. 



"~l 



J_L 



13 



AVT 



FUNCTION ^ PROVIDES LOCATION OF 
APPENDAGE ROUTINES 
CREATION ^ AT SYSGEN TIME 
INFO FROM 'SYSGEN CONTROL INPUT 
INFO TO ' I/O SUPERVISOR 
t TO' APPENDAGE ROUTINES 



TCB 



FUNCTION: 



RECORDS INFORMATION 
ABOUT A TASK AND ITS 
RELATIONSHIP TO OTHER 
TASK(S) IN THIS JOB STEP; 
PROVIDES STATUS OF THE 
TASK (PRIORITY, DEPEN- 
DENCIES, STATE), POINT- 
ERS TO PROGRAMS AND 
TABLES USED BY THE 
TASK 

CREATION: 1/ TASK , BUILT BY THE 
TASKSUPERVISOR IN 
MAIN STORAGE FOR LIFE 
OF TASK/JOB STEP 

INFO FROM: JCT . SCT 

INFO TO: RET 



TIOT. RB (ACTIVE. INACTIVE, 
LOADED) DEB, ECB 



-H 



.J 



T" 






ACT 



FUNCTION ' CONTAINS ACCOUNTING 
INFORMATION FROM JOB 
AND EXEC STATEMENTS 

CREATION ' 1 OR MORE /JOB DURING 
INITIATION 

INFO FROM ' JOB a EXEC STATEMENTS 

INFO T0» USER ACCOUNTING 
ROUTINES 



FUNCTION: 



TIOT 



FUNCTION. 



PROVIDES I/O SUPPORT 
ROUTINES (OPEN, CLOSE, 
EOV) WITH POINTERS TO- 
JFCBs AND ALLOCATED 
DEVICES. 

creation: 1/ exec card, built by 
the ~Mtiator in main 
storage for life of a 

JOB STEP 
INFO FROM SCT . SIOT . JFCB 

INFO TO. OPEN, CLOSE, EOV RTNS 

JFCB , UCB 



tTQ: 




8 



JFCB 



HOLDING AREA DATA SET 

ATTRIBUTES BEFORE 
THEY ARE PLACED IN- 
TO DCB AND DSCB 

CREATION: l/p_P CARD CONSTRUCTED 
ON D/A BY R/I AND COM- 
PLETED AT OPEN TIME 
FOR LIFE OF JOB 
INFO FROM; DD CARD, DSCB , DCB 
INFO TO TIOT . DSCB . DCB . DEB 
♦ TO 



EXTENSION BLOCKS IF ANY 



-H 
-4- 1 






Operating System 
Control Blocks & Flow 



CONNECTING POINTERS 
INFORMATION FLOW 






n 



u4 



T? 



USER MODIFICATION 
ROUTINE FOR DCB 




ECB 



FUNCTION: RECORDS STATUS OF AN 
~-~— ASSOCIATED EVENT 
CREATION: DEFINED IN THE PROBLEM 
PROGRAM FOR LIFE OF TASK 
INFO FROM: WAIT/POST ROUTINES 
INFO TO: WAIT/ POST ROUTINES 
fTO. Bfi 



L. 



I_. 



r 



n 



FUNCTION: RECORDS CHARACTERISTICS 

OF THE DATA SET REQUIR- 
ED TO PERFORM AN I/O 
OPERATION-, USED TO LO- 
CATE 1QB. IF MORE THAN 
ONE; USED TO LOCATE DEE) 
CHARACTERISTICS REQUIRED 
TO INITIATE THE I/O OPER- 
ATION 

CREATION: CONSTRUCTED AT ASSEMBLY 
TIME BY DCB MACRO-; 
COMPLETED AT OPEN TIME; 
IN MAIN STORAGE FOR 
LIFE OF JOB STEP 

INFO FROM: JFCB . DCB MACRO. USER 



MODIFICATION ROUTINE 
JFCB , DEJ.DSCB (OUTPUT) 
♦ TO: DEB, IOB, ACCESS METHOD 



INFO TO: 



35 



DEB 



FUNCTION: LOGICAL EXTENSION OF 

DEE-RECORDS INFORMA- 
TION AS TO LOCATION 
AND BOUNDARY OF DATA 
SET WHICH HAS BEEN 
OPENED. USED TO ASSOCIATE 
THE PROBLEM PROGRAM 
WITH I/O DEVICE CONTAINING 
VOLUME ON WHICH 
THE DATA SET BESIDES; 
USED BY CLOS E TO DE- 
TERMINE IF W ACCESS 
METHOD IS TO REMAIN 
IN CORE 

CREATION: AT OPEN TIME, ITS AD- 
DRESS PLUGGED INTOJ2CJ2. 
AND DEE ARE CHAINED; 
SIZE IS FUNCTION OF 
DEVICE; ACCESS METHOD^ 
THE NUMBER OF EXTENTS 
USED; IN PROTECTED MAIN 
STORAGE. USED ONLY BY 
CONTROL PROGRAM, AS 
LONG AS DATA SET IS OPEN 

INFO FROM: DCB. JFCB , DSCB 

INFO TO. RET 
t TO: DCB, TCB, UCB 

MAY CHANGE J2EJL WITH 
I/O APPENDA6E ROUTINE 



NOTE: 



_Ll 



r 



1 



J 



6 ATTENTION TABLE 



FUNCTION ' CONTAINS ADDRESSES OF 
ATTENTION ROUTINES 

REQUIRED TO SERVICE 

I/O DEVICES 
CREATION' AT SYSGEN TIME 



INFO FROM' SYSGEN CONTROL INPUT 



INFO TO' I/O SUPERVISOR 



♦ TO' ATTENTION ROUTINES 



DEVICE TABLE 



FUNCTION ' USED BY IOS TO LOCATE 
DEVICE DEPENDANT SIO, 
ENQUEUE, OR TRAP CODE 
MODULES FOR DEVICE IN 
USE. 
CREATION ' AT SYSGEN TIME 
INFO FROM 'SYSGEN CONTROL INPUT 
INFO TO ' I/O SUPERVISOR 

ENQUEUE MODULE, SIO 
MODULE, AND TRAP CODE 
MODULE OF DEVICE IN 
USE. 



♦ TO' 




h- 



17 CHANNEL PROGRAM 



FUNCTION: 



GROUP OF CCJLSL (ONE OR 
MORE) THAT PERFORM A 
SPECIFIC I/O OPERATION. 
EACH ENTRY INDICATES 
THE I/O OPERATION TO 
BE PERFORMED AND POINTS 
ING TO THE MAIN STORAGE 
AREA INVOLVED 

CREATION: AT OPEN TIME IN MAIN 
STORAGE AS LONG AS 
THE DATA SET IS OPEN 

INFO FROM: ACCESS METHOD 



NOTE: 



AT EXCP LEVEL, USER 
MUST WRITE HIS OWN 
CHANNEL PROGRAM 



20 



LCHTAB 



FUNCTION ' PROVIDES INFORMATION 
THAT CONTROLS THE 
LOGICAL CHANNEL QUE- 
UES 
CREATION ' AT SYSGEN TIME 
INFO FROM 'SYSGEN CONTROL INPUT 
INFO TO ' I/O SUPERVISOR, I/O 
PURGE AND SVC 
ROUTINES 
t TO' 1st 8 LAST REQUEST 
IN RET 



u 



I 
-t" 



li. 



IOB 



FUNCTION: 



CONTROLS A PARTICULAR 
I/O OPERATION ON A 
DATA SET, SUPPLYING IOS 
WITH INFORMATION AS A 
POINTER TO CCW'S AND 
OTHER CONTROL BLOCKS; 
CSJK STORED HERE WHEN 
I/O COMPLETE 
CREATION. FOR BASIC ACCESS 

METHOD I IOB/ I/O RE- 
QUEST FOR QUEUED 
ACCESS METHOD- 1 IOB/ 
BUFFER IN MAIN STORAGE 
WHILE DATA SET IS 
OPEN ; CONSTRUCTED AT 
OPEN TIME FOR ALL 
ACCESS METHOD EXCEPT 
Q/BIASM AND BDAM WHICH 
ARE CONSTRUCTED AT 
I/O TIME 
INFO FROM: ACCESS METHOD 
INFO TO: I/O SUPERVISOR 

DCB . CHANNEL PROGRAM, 
( ECB OR TCB ) 
AT EXCP LEVEL, USER 
MUST BUILD HIS OWN IOB. 
ITS ADDRESS BEING A 
PARAMETER" IN THE EXCP 



JJO: 



NOTE: 



21 



RET 



FUNCTION: USED TO QUEUE VO 
REQUESTS, POINT 
ED IN BY UfiB- 1 
ENTRY /REQUEST 

CREATION. AREA IN MAIN 

STORAGE RESERVED 

AT SYSGEN AND 
FILLED IN AT I/O 
TIME 

INFO FROM: DEB, TCB 



INFO TO: I/O SUPERVISOR 
f TO: UCB. IOB . DEB 

TCB, ID 



22 



UCB 



FUNCTION: 



RECORDS STATUS 
OF A PARTICULAR 
I/O DEVICE UNIT 
TYPE, VOLUME ID 
USED BY JOS: TO 
CHECK IFADEVICE 
IS BUSY 
CREATION: 1/ DEVICE -IN MAIN 
STORAGE CREATED 
AT SYSGEN (EXISTS 
WITH SRTT 
INFO FROM: AT SYSGEN TIME 
INFO TO: I/O SUPERVISOR 
tTQ. DT, AT, RET 



16 



CVT 



FUNCTION ' INFORMATION LINK 

BETWEEN NONRESIDENT 
ROUTINES AND THE CON- 
TROL PROGRAM NUCLEUS 

CREATION' AT SYSGEN TIME 

INFO FROM 'SYSGEN CONTROL INPUT 

INFO TO' I/O SUPERVISOR 
♦ TO' DEVICES, ACTIVE TASK 



A2-1 




23 



UCBLT 



FUNCTION ' CONTAINS ADDRESS OF 

EACH UCB IN SYSTEM 
CREATION -'AT SYSGEN TIME 
INFO FROM? SYSGEN CONTROL INFO. 
INFOTO = I/O SUPERVISOR 
TTTP UCB 



APPENDIX II (Cont'd.) 



CONTROL BLOCK ABBREVIATION LIST 



JCT 
SCT 
SIOT 

TIOT 
DSCB 
JFCB 

TCB 
ECB 
DCB 



Job Control Table 
Step Control Table 
Step I/O Table 

Task I/O Table 

Data Set Control Block 

Job File Control Block 

Task Control Block 
Event Control Block 
Data Control Block 



DEB 
I OB 
UCB 



Data Extent Block 
Input/Output Block 
Unit Control Block 



ACT Accounting Control Table 

LCHTAB Logical Channel Table 

RET Request Element Table 

UCBLT Unit Control Block Lookup Table 

CVT Communication Vector Table 



RB 



PRB 

LRB 

LPRB 

SVRB 

IRB 

SIRB 



AVT 
DT 
AT 
VTOC 



Request Blocks: 

Program Request Block 

Loaded Request Block 

Loaded Program Request Block 

Supervisor Request Block 

Interrupt Request Block 

Supervisor Interrupt Request Block 

Appendage Vector Table 
Device Table 
Attention Table 
Volume Table of Contents 



A2-2 



Appendix 3 



LIBRARY DEFINITIONS APPENDIX III 

The following system data sets are required and must have space 
allocated on the system residence volume. These data sets need 
not be cataloged. 

SYSCTLG (System Catalog) - The system catalog contains 
pointers to all cataloged data sets. Only the volume in- 
dex of the system catalog need reside on the system resi- 
dence volume. 

SYS1. NUCLEUS (Nucleus Library) - This library usually 
contains only one member, the resident portion (nucleus) 
of the control program. 

SYS1.SVCLIB (SVC Library) - The members of the SVC li- 
brary are the nonresident SVC routines, the data manage- 
ment access methods, and the system's standard error re- 
covery routines. 

SYS1.LOGREC - This data set is used for the recording of 
statistical data about machine errors. Space must not be 
allocated for this data set by the user. 

The following system data sets are required, and must have space 
allocated on direct access volume. They need not reside on the 
system residence volume. 

SYS1.LINKLIB (Link Library) - The members of the link li- 
brary are program and routines that can be referred to by 

XCTL, ATTACH, LINK, or LOAD macro instructions, or by 
EXEC statements. Nonresident operating system programs, 
e.g., the COBOL compiler, are contained in this library. 
This data set must be cataloged. 

SYS1.PR0CLIB (Procedure Library) - The members of the pro- 
cedure library include those cataloged procedures used to 
perform certain system functions, e.g., compile- linkage 
edit-go. It is recommended that this data set be cata- 
loged. 

SYS1.SYSJOBQE - This data set is used as a work area by 
the job scheduler. This data set does not have to be 
cataloged. 

An IBM System/360 Operating System can function without the follow- 
ing optional system data sets. If the user wishes to make use of 
the facilities they provide, they can be included in the operating 
system to be generated. Space must be allocated on a direct-access 
volume for the optional data sets desired. They need not reside on 
the system residence volume. It is recommended that the data sets 
to be included be cataloged. 

SYS1.MACLIB (Macro Library) - The members of the macro 
library include the macro definitions for the system 
macro instructions. 



A3-1 



APPENDIX III (Cont'd.) 

SYS1.S0RTLIB (Sort Library) - The members of the sort li- 
brary are the load modules from which a sort/merge pro- 
gram is produced at execution time. 

SYS1.C0BLIB (COBOL Library) - The members of the COBOL 
library are load modules (COBOL subroutines). 

SYS1.F0RTLIB (FORTRAN Library) - The members of the 
FORTRAN library are load modules (FORTRAN subprograms). 



A3 -2 



APPENDIX III (Cont'd. ) 



SYSRES 



99. 





50 



20 




A3-3 



APPENDIX III (Cont'd.) 



SYSCT LG 



CONCR 


DEMAND 


FINANCE 


LIBR 


SAVINGS 


SYS1 


TRUST 


XMASCLUB 



S 
Y 
S 
1 


COBLIB 


FORTLIB 


LINKLIB 


MACLIB 


PROCLIB 


SORTLIB 


SYSJOBQE 



L 
1 

B 
R 


CONSUMER 


DEMOP 


MISC 


PAYROLL 


SAVING 


TEST 


TRUST 



C 

O 

N 

C 

R 


BALANCE 


DELINQ 


DLRMAST 


NAMEADER 



B 
A 

L G 
A D 
N G 
C 
E 


LATEST 


LATEST - 1 


LATEST - 2 


LATEST - 3 



VOLUME CONTROL BLOCK 



D 

E 

M 

A 

N 

D 


BUSINESS 


PERSONAL 


SPECIAL 




A3-4 



APPENDIX III (Cont'd.) 





A3-5 



APPENDIX III (Cont'd.) 





A3-6 



APPENDIX III (Cont'd.) 






DEMAND. BUSINESS. SERVCHG 



DEMAND. PERSONAL. SERVCHG 




NOTE: 



These data sets are not involved in those 
being used in the job stream example. They 
may be used in other examples and discussions. 



A3-7 



APPENDIX III (Cont'd.) 



// 


JOB1 


JOB 


// 


JOBLIB 


DD 


// 


STEP 


EXEC 


// 


IN 


DD 


// 


OUT 


DD 


// 


5YSIN 


DD 




{ DATA CARDS j 



INPUT STREAM 



DSNAME=LI BR. CONSUMER, DISP=OLD 
PGM=UPDATE 

DSNAME=CONCR.BALANCE(0),DISP=OLD 
DSNAME=CONCR.BALANCE(+l), 
DISP=(NEW, CATLG), UNIT=2400 



A3-8 



APPENDIX III (Cont'd.) 



CONSOLE SHEET 



IEE007A READY 






SET DATE=66.067 






START RDR, 


OOC 






START WTR, 


00E 






START 








IEF2371 


M 


191, 


14732,JOBl 


IEF2371 


M 


140, 


12793, J OBI 


IEF2371 


M 


141, 


SCRTCH, JOB1 


IEF2361 


Allocation 


For JOB1 STEP 


IEF2371 


SYSIN ON OOC 


IEF2801 


K 


140, 


12793, J OBI 


IEF2371 


M 


140, 


12413,JOBl 


IEF2801 


K 


141, 


1 2741, JOB 1 


IEF2371 


M 


141, 


SCRTCH, JOB1 



A3-9 



Appendix 4 



GENERAL LOGIC OF ERROR HANDLING 



i 



SER PROGRAM 



EXCP TAPE IOB 
WAIT TAPE CB 

( ALL ERROR CORRECTION 
AND STATISTICAL 
RECORDING HAVE 
BEEN PERFORMED ) 



I/O INTERRUPT SUPERVISOR 
(ASSUME TAPE READ ERROR) 



DEVICE-DEPENDENT 

ERROR ROUTINE 

IN TRANSIENT AREA 



RETURN POINT FOR 
IOS COMPLETION 



NO 



RESTART 
CHANNEL 


i 


r 


C RETURN J 



TO I/O REQUESTOR 



LOOK UP 

UCB AND 

FIND RQE 



r 



EXAMINE 

CHANNEL 

STATUS & 

SENSE BITS 



TAPE:- CHECK FOR NOISE RECORD 
- ALLOW FOR 10 LOOPS OF 
10 READS AND BACKSPACES 
PAST TAPE CLEANER 



CHANNEL 

AND DEVICE 

END 




CLEAR ALL 
DCB & IOB 
BITS INDICATING 
ERROR 



UPDATE 
STATISTICS 
COUNTERS 



ERREXCP 
& RETURN 



( NORAAAL 
RETURN 
TO IOS ) 



LEAVE IOB 
EXCEPTION SET 

RESET ERROR 
RTN. IN CTL. 



READ SENSE 
DATA INTO 

UCB FOR 

DEVICE 




YES 



UPDATE 
STATISTICS 
COUNTERS 



YES/^ 



CATASTROPHY OR 
ABTERM ROUTINES 



OUTBOARD 
RECORDING 



PUT STAT. RECD. 
ON SYS1.LOGREC 



ERROR RTN 
INTERFACE 



ARE RECOVERY 

PROCEDURES 

TO BE USED 

( DCB BITS ) 



C ERREXCP J 

( PERMANENT 
ERROR RETURN) 




(RESCHEDULE 
CHANNEL 
PROGRAM ) 



SCHEDULE ERROR ROUTINE 



DASD: ENTER DIRECTLY 
OTHER: 

- PUT RQE IN ASYNCH 
EXIT Q TO WAIT FOR 
HANDLING 

- GET ERRTAB ENTRY 
FROM UCB 



¥ 



CONTENTS SUPERVISOR 



EXCP REQUEST FOR SYSRES 
TO GET ERROR RTN 
INTO I/O TRANSIENT 
AREA 



A4-1 



EXCP SPVR. 

ENQUEUE 

&SIO 






I/O INTERRUPTION 
FOR RE-EXECUTED 
CHANNEL PROGRAM 



I/O 

INT 

SPVR. 



PURGE ALL 
OTHER REQ. 
RELATED TO 
THIS ONE 



C ERREXCP J 

( USE NORAAAL 
EXIT PROCEDURE 
FROM ERROR 
CORRECTION ) 



Appendix 5 



ASSEMBLY 



SOURCE 
PROGRAM 



DCB MACRO 
OPEN DCB 
EXCP IOB (SVC) 
WAIT ECB 




OR 



SOURCE 
PROGRAM 



DCB MACRO 

OPEN DCB 
GET DCB 




PROGRAM 
FLOW 



SUPERVISOR 



Brings in Part 
Of Master / 
Scheduler f 

Reader/ 



Interpretor 



S/360 O.S. EXCP 
ASSEMBLY B PROGRAM FLOW 



CONTROL 
CARDS 




MASTER 
SCHEDULER 
Reader/ 

Interpretor 

Reads Control 
Statements 



Builds Job/ 
Step Control 
Tables / 

Blocks 



JCT 



SCT 



I JFCB I 



SIOT 




SYS 1 
LINKLIB 




SUPERVISOR 




Brings in 
Initiator/ 
Terminator 



INITIATOR/ 
TERMINATOR 



Locates Data 
Sets 

Assigns I/O 
Devices 



Allocates Aux. 
Storage 

Writes JFCB 
On Aux. 
Sto rage 

Builds TIOT in 
Core 



I 



TIOT 




JFCB 







AUX. 
STORAGE 




PROCESSING 
PROGRAM 



*c^l 



Appendix 6 



S/360 O.S.EXCP OPEN FLOW 



PROCESSING 
PROGRAM 



OPEN DCB 




SUPERVISOR 



SVC 

INTERRUPT 

HANDLER 



I 



BLDL 



I 



PROGRAM 
FETCH 



I 



SVC 

INTERRUPT 

HANDLER 




READ DSCB 
READ JFCB 

COMPLETE 

DCB* 

Iexit routines] 
{user labels] 



' j NON ST'D 
1 LABEL 
1 ' ROUTINE 



^ZJ 




DSCB 



(Input 
Only) 



DCB 



(Filled in) 



1 



n 



TIOT 



tuCB 



JFCB 



(Filled in) 




OPEN 



SVC 



ACCESS 

METHOD 

EXECUTOR 



DEB BUILT 
ETC 

i 

ACCESS 

METHOD 

LOADED 



DEB 



JFCB 



I 



DSCB 
(Created) 




SUPERVISOR 



EXIT SVC 
RTN 



I 



DISPATCHER 



PROCESSING 
PROGRAM 



OPEN DCB 



-BUILT 



* NOT APPLICABLE TO 
EXCP USERS 



OUTPUT 
• DATA 
SET 



A6-1 



Appendix 7 



* THIS PROGRAM LOADS 25 80-CHARACTER RECORDS ON EACH TRACK OF 2311. 

♦CONTENTS CF REGISTERS 

* R3 - CYLINDER NUMBER 

* R4 - HEAO NUMBER 

* R5 - CURRENT RECORD NUMBER 

* R6 - LOOPINDEXING VALUE 

* R7 - LOOP LIMIT VALUE 

* R9 - SUBROUTINE LINKAGE REGISTER 

* RIO - ADDRESS UF EXTENT FIELD IN DEB 

* Rll - ADDRESS OF DEB 

LA 6,1 INITIALIZE LOOP INCREMENT VALUE 

LA 7,25 INITIALIZE LOOP LIMIT VALUE 

L ll,DISKDCfi+44 GET DATA EVENT BLOCK ADDRESS 

LA 10,38(11) PUT EXTENT ADDRESS IN REG 10 

BAL 9,DISKINIT INITIALIZE SEEKADDRESS FIRST EXTENT 

*** EXCP CARD READ **** 

DISKIO STC 5,SEEKADDR+7 ESTABLISH SEARCH ID FOR FILE LOAD 

BXH 5, 6, OUT INCREMENT RECORD COUNT AND TEST FOR 25 

MVC SRCHID(5) ,SEEKA0DR+3 SET UP SEARCH 10 FIELD 

STC 5,SRCH10+4 EXTABLISH WRITE CR READ ID FIELD 

NI DISKECB.X'OO 1 

EXCP DISKIOB PERFORM DISK INPUT OR OUTPUT 

WAIT ECB=DISKECB 

CLI DI SKECB, X«7F • ANY DISK ERRORS 

BE URIO 

CLI OISKECBtX^Z 1 WAS THERR EXTENT VIOLATION 

BE NEXTENT 

ABEND 255, DUMP 

OUT BAL 9,EN0TRK bENERALlZED LINKAGE 

B DISKIO 

LNDTRK SR 5,5 CLEAR RECORD = TC ZERO 

CH 4,=H , 9« TEST END OF CYLINDER 

BE NEXTCYL 

LA A, 1(4) INCREMENT HEAD NUMBER 

NEXTTRK STC 4 , SEEKADDR + 6 

BR 9 RETURN TC ROUTINE 

NEXTCYL LA 3,1(3) INCREMENT CYLINDER NUMBER 

LA 4,0 RESET HEAD = TC TOP OF CYLINDER 

B NEXTTRK 
* 

NEXTENT IC 3,16(11) GET = CF EXTENTS FROM DEB 

IC 4,SEEKADDR GET CURRENT EXTENT = 

LA 4,1(4) INCREMENT EXTENT = BY 1 

CR 3,4 ARE ALL EXTENTS EXHAUSTED 

BE J08END 

STC 4,SEEKADDR STORE NEXT EXTENT = 

LA 10,16(10) EXTRACT NEXT EXTENT FROM DEB 

BAL 9,DISKINIT RESE1 CYL, TRK, AND RECORD REGISTERS 

B DISKIO REPEAT DISK OPERATION 

* INITIALIZE SEEK ADDRESS IN ICB AT BEGINNING CF EACH EXTENT, 
DISKINIT MVC SEEl\AuDR + 3(5) ,0( 10) EXTENT ADOR TO IOB SEEKADDR 

LA 3,0 

IC 3,SEEKADDR+4 LOAD CYLINDER REGISTER 

LA 4,0 

IC 4,SEEKADDR+6 LLAD HEAD REGISTER 

SR 5,5 RESET RECORD REGISTER 



A7-1 



BR 9 

ENODATA CH 5,=H , 25» IS LAST KECCRD AT END OF TRACK 

BNE EODMARK IF NOT, LET ICS WRITE EGO MARK 

BAL 9,£N0TRK GO TO TRACK INCREMENTING ROUTINE 

EUOMARK STC 5 , SEEKADDR+7 SET RECORD = TO OR TO ID OF LAST 

* RECORD WRITTEN 

MVC DISKOCB+5(d) ,SEEKADDR SET UP DCB SO THAT EOD MARK 

* CAN BE WRITTEN 

LA 3,600 SET UP TRBAL FIELD WITH PHONY NUMBER 

STH 3,0ISKDCB+18 

CLOSE (DISKDCB) 
DS CF 
DISKICB DC X'^CGCCCC 1 IOB FLAGS= CMD CHAIN, UNRELATED 

DC A(DISKECB) 

DISKCSW DC 2F , 0« CSk STORAGE 

DISKCCW DC ACDISKCUTJ POINTER TC CHANNEL PROGRAM 

DC A(DISKDCB) 

DC 2F«O t 

SEEKACOR DC 2F«0« 

SRCHIC DC D«80» CC HH R KEY LENGTH DATA LENGTH 

INAREA DS CL80 

DISKECB DC F'C 
DISKGUT CCW X*31« , SEEKADD R+ 3 , X » 40 • ,5 SEARCH ID EQUAL ON 

* RECORD PREVIOUSLY WRITTEN 
CCW X'Od 1 ,OISKuUT,0,G TRANSFER IN CHANNEL 

CCW X» 1D» ,SRCHIO,X'20* ,88 WRITE COUNT AND OATA 

DISKDCB DCB UONAME=D I SK , MACRF = { E ) , DSCRG= PS , DE VD=DA 



A7-2 



Appendix 8 



FUNCTIONAL FLOW OF I/O SUPERVISOR 



PSEUDO 
ENABLE- 
DISABLE 
LOOP 




I/O INTERRUPT SUPERVISOR 



YES 



ENQUEUE MODULE 



FIFO 

PRIORITY 

ORDERED SEEKING 




ENTER RQE 
IN LOGICAL 
CHANNEL QUEUE 



ENTER IN 
DEVICE'S 
STAND ALONE 
SEEK QUEUE 



APPENDAGES: 

SIO 
END-OF-EXTENT 




START I/O MODULE 
FOR DEVICE CLASS 



ISSUE SIO 
SET UCB BUSY 

DASD: 

SEEK- SET ARM SEEKING 
DATA TRF - SET DATA TRF 



A8-1 




TRAPCODE MODULE 
FOR EACH DEVICE CLASS 



DETERMINE REASON FOR 8 SERVICE 
I/O INTERRUPTION 




ENQUEUE 
DATA TRF 
REQUEST 
ON LOGICAL 
CHANNEL 



APPENDAGE: 
PCI 



APPENDAGES: 
CHANNEL END 
ABNORMAL END 




SCHEDULE ERROR ROUTINE 
DASD : PROCESS IMMEDIATELY 

OTHER : SCHEDULE I/O TO BRING 
IN ERROR ROUTINE 




TURN OFF 
UCB BUSY a 
OTHER 
INDICATORS 



INTERRUPTION 
PENDING 



ENABLE 
FOR I/O 
INTERRUPTS 




INDICATE TO USER 
HOW REQUEST 
COMPLETED 



CHANNEL SEARCH MODULE 



FIND REQUEST TO START ON 
PHYSICAL CHANNEL : 

SEEK QUEUE SEARCHED AND 
EXHAUSTED, THEN 

LOGICAL CHANNEL QUEUE 
SEARCHED 



ON DASD STAND 
ALONE SEEK, 
WAIT FOR 
CHANNEL END 




DEVICE OR CONTROL 
UNIT BUSY 



ERROR 



© 



-J ACCEPTED 



Appendix 9 



//RH1 JOB 01, 'ASSEMBLE APPENDAGE •, NSGLEVEL= 1 

// EXEC PGM=IETASM 

//SYSPRINT 00 SYSOUT=A 

//SYSLIB DC DSNAME=SYS1.MACLIB,DISP=CLD 

//SYSUT1 OD UN1T=240G,LABEL=< ,NL) 

//SYSUT2 DD UNIT=2400,LABEL=( ,NL) 

//SYSUT3 DD UNI T=231 1 ,SPACE= ( TRK, (10,10)) 

//SYSPUNCH OD UNIT=2540-2 

//SYSIN DD * 

IGGG19HA START 

* CHANNEL END APPENDAGE ROUTINE. 

* ON ENTRY TO THE ROUTINE THE REGISTERS CONTAIN THE FGLLOKING INFO. 

* Ri - ADDR OF RQE 

* R2 - ADDR OF IOB 

* R3 - ADDR CF OEb 

* R4 - ADDR OF DCB 

* R7 - ADDR OF UCB 

* R14 - RETURN ADDRESS 

* R15 - ADDRESS OF APPENDAGE ROUTINE ITSELF 

* REGISTERS 10-13 MAY BE USED FREELY. 
* 

USING *,15 

TM 12(7), X«80' TEST UCB TO SEE IF DATA SET IS SYSIN 

BZ RETURN IF NOT, RETURN 

* FIND I/O AREA ADDRESS 

L 13,16(2) LOAD ADDRESS OF CHANNEL PROGRAM 

L 12,0(13) LOAD DATA ADDRESS PORTION OF CCW 

CLC 0(2, 12) ,=C /*• TEST FIRST 2 BYTES OF DATA AREA FOR /* 

BNE RETURN 

01 12(2), X«01« SET UNIT EXCEPTION BIT IN IOB 

01 0(2), % t 0^* SET IUB EXCEPTION BIT 

01 44(4), X'CO" SET DCB IFLGS PERMANENT ERROR BITS 

RETURN BR 14 
END 



//RH2 JOB 01, 'INSERT APPENDAGE •, MSGLEVEL= 1 
//STEP1 EXEC PGM=IE^L,PARM= I LET,NCAL,LIST« 
//SYSPRINT DD SYSCLT=A 

//SYSUT1 DD UNIT=2311 ,SPACE=l TRK, ( 10, 10) ) 
//SYSLMOD DD USNA VF =SY SI . SVCLI B ,DI SP=OLD 
//SYSLIN DD * 

NAME 1GGC19WAIR) 



A9-1 



//RF3 

//STEP1 

//SYSPRI 

//SYSLIB 

//SYS0T1 

//SYSUT2 

//SYS0T3 

//bYSPUN 

//SYSiN 

TESTPROG 



LOUP 



LGACTAPE 



OUT 
FNDDATA 



SAVEAREA 
INECB 
INCCW 
INIGB 

INCSW 



INAREA 
* 

OUTECB 
OUTCC* 

ounce 



INI- 1LE 

OUJFILE 



EXEC 
NT DO 

CO 

DO 

DD 

DO 
CH UD 
OQ * 
START 
SAVE 
BALR 
USING 
ST 
LA 

OPEN 
WTO 
MVI 
EXCP 
WAIT 
CL I 
BE 
TM 
BO 

ABEND 
MVI 
EXCP 
WAIT 
CLI 
BE 

ABEND 
ABEND 
01 

CLOSE 
WTO 
L 

RETUR 
OS 
DC 
CCW 
DC 
DC 
DC 
DC 
DC 
DC 
OS 

DC 

cc 

DC 

DC 

DC 

DC 

DC 

DCd 

DCB 

EtfD 



JOB 

PGM=IE 
SYSCO 
DSNAME= 
UNIT=24 
UNIT=24 
UN1T=23 
U.\IIT = 

X«453U 
( 14, 12 
12,0 
* f 12 

13,SAV 
13,SAV 
(INFIL 
•FILE 

INECB, 
INIOB 
ECb=IN 
INECB, 
LGAUTA 
INCSW+ 
ENODAT 
255, DC 
OUTECB 
U T I B 
ECB=OU 
OUTECB 
LOOP 
15,0 CM 
2 5 5 , f ) U 
C T F I L 
UNF IL 
•JOB t 
13, SAV 
N ( 14, 1 
ItiF 
F«0« 
X'02» , 
F»C« 
A< INEC 
ZF'Q* 
A{ INCC 
A ( I N F I 
2F , C« 
2CF 



CI, • TEST EXCP' , MSGLEVEL=1,CGND=(08,LT) 
IASM 
T=A 

SYSl.MACLlB,DISP=uLO 
CO,LABEL=( ,NL) 
O0,LABEL=( ,NL) 
11,SPACE=(400,400) 
2540-2 



EAREA+4 

EAREA 

E f ,OUTF ILE , (OUTPUT) ) 

LOAD BEGINNING 1 

X'00» TURN OFF COMPLETE BIT 

READ INPOT RECORD 
fcCB 

X* 7F • ANY ERRCRS 
Pb 

4,X'01« TEST UNIT EXCEPTION BIT FOR EOD 
A 

MP 
fX'OO 1 RESET COMPLETE BIT 

WRITE TAPE 
TECB 
, X' 7F« ANY ERRORS 

P 

MP 

r; + 48,X , 46' TAPE MARK IS TO BE WRITTEN 

E, ,OUTFILE) 

NDING* 

EAREA+4 

2) 



INAKEA, , BO 
BJ 

W) 

LE ) 



READ EITHER TAPE OR CARD 



F'O 1 
X'Oi 
F'O 1 
A(OU 
2F«0 
A(OU 
A (GO 
2F»0 
DSOR 
DSOR 



' , INARlA , X«2U • ,80 

IbCD) 
« 



WRITE TAPE, SILI FLAG 



ToCW) 
TFILE) 

G = PS,MACKF=(E) ,DDNAWE = SYSIN,CENDA=WA 
G = PS f V.ACKF=( t J ,DDNAME=SYSOUT,OEVD=TA 

A9-2 



Appendix 10 



ACCOUNTING ROUTINE PROGRAMMING 



APPENDIX X 



A. Passing parameters between accounting routines using 
SYS1.SYSJOBQE as temporary storage. To pass data: 

1. Accounting Routine 

a. Must build a list of parameters and load the address 
of the list into register 1. 



LIST 


DS 


F 




DS 


F 


QMPOP 


DC 


X'OO' 




DS 


XL3 




DS 


5F 


QMPCM 


DC 


X»01 ! 


QMPNC 


DC 


X'Ol* 


QMPCL 


DC 


AL3(LISTA) 


LISTA 


DC 


A (AREA) 


RCADDR 


DS 


F 



No. of 176 -BYTE RECORDS 



AREA DS 



CL176 



b. Must issue an SVC to determine whether or not this 
is the first time through the routine and locate 
areas in the SVC routine. 

c. On return from the SVC routine, check "QMPOP" to see 
if it has been changed. If not, this is the first 
time through the routine. The address of the Table 
Store Subroutine should be loaded into Register 15, 
and a branch issued to Register 15. Record ad- 
dresses will then be assigned. The accounting rou- 
tine should move these into the SVC area. If this 
is not the first time through the routine, the 
record address can be picked up from the SVC area 
and used in Read or Write functions. 

d. At Job End the SVC area and any switches should be 
reset . 



2. 



Resident SVC Routine 



a. Must set and test a switch to determine first time 
through the routine. 

b. Must provide and point to an area to be used as a 
work area. (Use Reg. 0, 1) 

c. May do other functions as user desires. 



A10-1 



APPENDIX X (Cont'd.) 

3. Programming Considerations 

SYS1 .SYSJOBQE is reset as part of the job termination 
routine in the sequential scheduler system. 



A10-2 



PASSING DATA- RESIDENT SVC 



IEFACTRT 



SVC 225 



INTERRUPT 



CONTROL 
PROGRAM 



> 



BR 14 



<J 



XXX 



PASS DATA 
fHRU REG. ISO 



SVC ROUTINE 



IGC nnn 



BR 14 



DATA 



A10-3 



IBM 



IBM System/360 Assembler Coding Form 



program ACCOUNTING ROUTINE 


PUNCHING INSTRUCTIONS 


PAGE 1 OF ^ 




GRAPHIC 
















CARO ELECTRO NUMBER 


PROGRAMMER 


DATE 


PUNCH 

















o 
I 

-1^ 



STATEMENT 


Identificafion- 

Se que nee 

73 80 


Name 
1 8 


Operorion 
10 14 


Operand Comments 
16 20 25 30 35 40 45 50 55 60 65 71 


IEFACTRT 


START 







< 




) 






LA 


1,LIST 






SVC 


255 BRANCH TO SVC ROUTINE 






ST 


l.SAVESVC 






LA 


l.LIST 






TM 


OMPOP.X'FF 1 ALL ZEROS - SAME AS BEFORE - 1ST 






BC 


7. READ 






MVI 


OMPOP.X'Ol' 






L 


15,VCONST LOAD ADDRESS OF TABLE STORE SUBR. 






BALR 


1^,15 






L 


2,SAVESVC POINTER TO AREA IN SVC ROUTINE 






MVC 


(),(*♦, 2), RCADDR MOVE RECORD ADDRESS INTO RES. STOR. 






MVI 


AREA,X» 1 CLEAR AREA 






MVC 


AREA+1(175),AREA 






B 


STEPEND 




READ 


MVI 


QMPOPjX'O^* SET UP AND READ RECORD 






L 


15.VCONST INTO AREA 






BALR 


1^,15 




( 




f 




) DETERMINE IF JOB OR STEP TERMINATION 




J 




} 






BE 


JOBEND 





IBM 


IBM System/360 Assembler Coding Form 


















PROGRAM 


ACCOUNTING ROUTINE 


PUNCHING INSTRUCTIONS 


PAGE 2 OF *♦ 




GRAPHIC 
















CARD ELECTRO NUMBER 


PROGRAMMER 


DATE 


PUNCH 












_l 


1 



> 

o 



STATEMENT 


Identificotion- 

Sequence 

73 80 


Nome 
1 8 


Operation Operand Comments 
'0 14 16 20 25 30 35 40 45 50 55 60 65 71 


STEPEND C 




( UPDATE RECORD 




f 




» 




MVI QMPOP > X I 03 I 




LA l.LIST 




L 15,VCONST 




BALR 1*+,15 




EXIT 


L 13,SAV13 




RETURN Cl*». 12) 




JOBEND 








PROCESS ACCUMULATED DATA 












L 1,SAVSVC 




MVC 0(<+, 1), ZEROS RESET RECORD ADDRESS 




MVC **(1, 1), ZEROS RESET SWITCH 




B EXIT 




ZEROS 


DC F'O 1 




VCONST 


DC V(IEFQMSSS) 

























IBM System/360 Assembler Coding Form 



program ACCOUNTING ROUTINE 


PUNCHIN6 INSTRUCTIONS 


PAGE 3 OF h 




GRAPHIC 
















CARD ELECTRO NUMBER 


PROGRAMMER 


DATE 


PUNCH 

















> 

o 
o 



STATEMENT 


Identificotion- 

Sequence 

73 80 


Nome Operation Operand Comments 
1 8 '0 14 16 20 25 30 35 40 45 50 55 60 65 71 


LIST DS 2F 




QMPOP DC X'OO* 




DS CL23 




QMPCM DC X'Ol' NO. OF 176-BYTE RECORDS TO BE ASSIGNED 




QMPNC DC X'Ol' NO. OF 176-BYTE RECORDS TO BE USED 




OMPCL DC AL3CLISTA;) 




LISTA DC ACAREA) 




RCADDR DC F'O* 




















AREA DS CL176 




SAVESVC DS F 
























END 





























USM 



IBM System/360 Assembler Coding Form 



program SVC ROUTINE 


PUNCHING INSTRUCTIONS 


PAGE *♦ OF *♦ 




GRAPHIC 
















CARD ELECTRO NUMBER 


PROGRAMMER 


DATE 


PUNCH 

















o 










STATEMENT 


Identificotion- 

Seqoence 

73 80 


Nome 
1 8 


Operation 
10 14 


Operand 
16 20 25 30 


Comments 
35 40 45 50 55 60 65 71 


IGC255 


START 









s 




( 




{ 




/ 






TM 


SWITCH, X'FF* 


CHECK FOR FIRST TIME 






BC 


7. NOTFIRST 








MVI 


SWITCH, X'FF 1 






BACK 


LA 


l.RCRD 








BR 


1** 






NOTFIRST 


MVI 


sm.x'oi 1 


NOT FIRST TIME 






MVC 


SAVEAD+K3).33CO 








L 


2,SAVEAD 








MVC 


*♦(*♦, 2),RCRD 








B 


BACK 






J 




RCRD 


DC 


F'0 f 






SWITCH 


DC 


X'O 1 






END 

































Appendix 1 1 



ACCOUNTING ROUTINE STUDENT PROBLEM 



Write a JOB termination accounting routine to perform the following: 

1 . Calculate the elapsed time for execution of the previous JOB. This will be terminator 
to terminator time. 

2. Type a message on the console that this is JOB time, the name of the JOB, and the 
time in hours, minutes and seconds. Also include your name in the massage for 
identification. (The JOB name and your name are to be retrieved via the pointer in 
Register 1 .) 

3. Store the previous JOB time in the CVT, as a decimal (packed) number representing 
HHMMSSTH. This field is in CVT+156. 

Additional information for accounting routine problem. 

1 . The location of the CVT is contained in a full word starting at location 16, decimal . 

2. The accounting routine uses one field in the CVT which is not used in the current 
release of the system. This is not a recommended procedure. A better approach would 
be to provide a field for this in a user written resident SVC routine. 



Al 1-1 



* THE BASIC LOGIC OF THE ACCOUNTING ROUTINE IS SIMPLE. THE FOLLOW- 
ING LISTS THE SEQUENCE OF OPERATIONS REQUIRED,. • 

* 
* 

* 1. INITIALIZE FOR ASSEM8LY 
* 

* 2. SAVE REGISTERS 

* 3. STORE POINTER 

* 

» 4. ISSUE THE TIME MACRO 

* 

* 5. STORE n\E TIME 

* 

* 6. GET THE CVT WORD ADDRESS 

* 

* 7. SETUP THE CVT CONTENTS OF DECIMAL ARITHMETIC 

* 

* 8. ZAP THE CURRENT READING 

* 

* 9. SUBTRACT THE AMOUNT IN SETUP 

* 

* 10. ADJUST THE SECONDS AND MINUTES 

* 

« II. UPDATE THE. CVT WORD 
* 

* 12. EDIT THE ELAPSED TIME 

* 

* 13. MOVE THE JOB NAME 

* 

* 14. MOVE THE PROGRAMMERS NAME 
« 

* lt>. MOVE THE JOB ACCOUNTING DATA FIELDS 

» 16. WRITE TO OPERATOR 
* 

* 17. RETURN 
« 

* 



All-2 



THE ACCOUNTING ROUTINE USES THE FOLLOWING AREAS,..* 



POINTER 



1 — L — I — I — 1 
I I 1 1 1 
1 — I — I — 1 — 1 



THE TERMINATOR PROVIDES 
REGISTER 0) TO ADDRESSES OF 
INFORMATION. THIS POINTER IS 



A POINTER (IN 
ACCOUNTING 
SAVED HERE. 



TMPCLKST 



CVT+148 



WKAREAST 



SETUP 



I — i — i — i — i — i 

I I 1 1 10CI 
I — 1 — 1 — I — 1 — L 



I — I — 1 — 1 — I 
I I 1 1 1 
1 — 1 — 1 — L — I 



I — I — I — 1 — 1 — I 
I I i 1 10CL 
i — I — I — 1 — 1 — 1 



1 — 1 — 1 — I — 1 — I 
1 I I I 10C1 
I — 1 — 1 — 1~1 — I 



THE TIME, TAKEN AT THE END OF EACH 
JOB, IS STORED HERE. (THIS SHOULD BE 
ALIGNED ON AN FWB) 



HERE IS SAVED THE READIMG TAKEN AT 
THE END OF THE PREVIOUS JOB. 
(INITIALLY IT SHOULD BE ZERO) 



WORK AREA WHERE THE DIFFERENCE OF 
JOB TIME READINGS IS CALCULATED. 



THIS AREA IS USED TO GIVE THE VALUE 
FROM THE CVT A SIGN (SIGNS ARE 
REQUIRED FOR DECINAL ARITHMETIC) 



All-3 



JOB CONTROL STATEMENT SETUP 



//ASMJACT 


JOB 


//ASMJ30 


EXEC 


//SYSLIB 


DD 


//SYSUT1 


DD 


//SYSUT2 


DD 


//SYSUT3 


DD 


//SYSPUNCH 


DD 


//SYSPRINT 


DD 


//SYSIN 


DD» 



101*t66,HCADOW,MSGLEVEL=l 

PGM=IEUASM,PARM=DECK 

DSNAME=SYSl.MACLIB,DISP=OLD 

UNIT=2 311 / SPACE=C200,(100 / 50)) 

UNIT=2311 / SPACE=(200 / (100,50)) 

UNIT=2 311,SPACE=(20 0,(100,50)) 

UNIT=00D 

SYSOUT=A 



YOUR SOURCE DECK HERE 



All-4 



//LINKACT JOB 

// EXEC 

//SYSABEND DD 

//SYSPRINT DD 

//SYSUT1 DD 

//SYSLMOD DD 

//SYSLIN DD !! 



10 766,HWC,MSGLEVEL=1 

PGM=LI NKEDI T, PARM= • NCAL, XREF ' 

SYSOUT=A 

SYSOUT=A 

DSNAME=&TEMP,UNIT=2311,SPACE=(TRK,(2 0,10)) 

DSNAME=SYSl.LINKLIB,DISP=(OLD,KEEP) 



YOUR OBJECT DECK GOES HERE 



INCLUDE 

ENTRY 

NAME 



SYSLMODCIEFZA) 

IEFZA 

IEFZA(R) 



All-5 



PROBLEM SOLUTION 



IEFACTRT 



GENESIS 



TESTMINS 



CLCKOK 



LCCP 



IC 
BC 



NGMORE 

MOVE 
EDCTLWD 
BLANK 
WRITE 



SAVACCT 
POINTER 



CSECT 

SAVE 

BALR 

USING 

ST 

LR 

LA 

ST 

ST 
TIME 
ST 
L 

MVC 
ZAP 
SP 
CLC 
BNL 
SP 
CLC 
BNL 
SP 
MVC 
MVC 
MVC 
MVC 
ED 
L 
L 

MVC 
L 

MVC 
LA 
L 
SR 



114,12) 

10,0 

»,10 
13, SAVACCT +4 
9,13 

13, SAVACCT 
13,4{,9) 

1,PCINTER 



PUT SV AR ADDR OF ACCT RTN IN R13 



SAVE STARTING ADDRESS OF 7 POINTERS 



O.TMPCLKST 

11,16 GET ADCR 

SETUPC4), 156111) 

WKAREAST(5),TMPCLKST< 5) 

WKAREAST(5),SETUP<5) 

TMPCLKST+2C U,SETUP+2 

TESTMINS 

WKAREASTt5),SUB40S 

TMPCLKST + K 1),SETUP+1 

CLOKCK 

WKAREASTt5),SUB40M 

15614, 11), TMPCLKST 



SAVE HHMMSSTH 
OF CVT'S BEGINNING 
SIGNING TIME QTY OF DEC ARITH 
CURR RDNG TO ACCUMULATOR 
SUBT PREVIOUS VALUE 
THE NECESSITY OF ADJUSTING SECS 
£ MINS IS DETERMINED AS FOLLOWS 

1) IF MINUEND > OR = TO THE 
SUBTRAHEND, NO ADJ NECESSARY 

2) IF MINUEND < SUBTRAHEND , SUB T 
40 FROM RESULTANT SECS OR MINS. 

NEW'PREVIOUS' TIME VALUE 



MSGQ), BLANK 

MSG + K99),MSG OVERLAP BLANX 

MSG( 11), EDCTLWD MOVE PUNCTUATION 

MSGU1),WKAREAST 

1, POINTER RESTORING Rl 

5,01,1) PUT ACDR OF JOBNAME IN R5 

MSG+12<8),0<5) JOBNAME TO MSG 
5,8(,i) ADDR OF PRGMRS NAME INTO R5 

MSG+2i(20),0(5) MOVE PRGRMRS NAME TO MSG 
7,X f 00« ZERO OUT R7 

5,161,1) ADDR OF 1ST JOB ACCT 

6,6 ZERO OUT R6 

6, Of, 5) MOVE 1 BYTE LNG INTO REG 6 



FOR ELAPSED TIME 



DATA FLD BYTE 



TM 

AR 

A 

MVC 

AR 

A 

BC 

EX 

BC 

MVC 

DC 

DC 

WTC * 

L 

RETURN 

OS 

OS 



X«FF« 



ANY MORE FIELDS 



SUM OF LENGTHS 
INCL LNG FLD IN 
REPLACE LNG WITH 
UPCATE- 

-THE BASE 



REG 7 CONTAINS LNG 



Of 5), 
8,NGMGRE 
7,6 
7, ONE 

01 1,5), BLANK 
5,6 
5, ONE 
15,LCGP 
7, MOVE 
15, WRITE 

MSG+42<0),0<5) MOVE ACCTNG 
X , 21204B20204820204B2020« 
C" • 



13, SAVACCT +4 

(14,12) 

18F 

F 



SUM OF LNGTHS 
A BLANK 



DATA TO MSG AREA 



H 



« CNT CARD 



All-6 



TMPCLKST DC X'OOOOOOOOOC TEMP STORAGE FOR CURRENT READING 

SUB40S DC X*40000C f 

SUB40H DC X f 4000000C» 

SETUP DC X'OOOOOOOOOC* 

WKAREAST DC X»OOOOOOOOOC« 

HSG ECU WRITE+8 

OS OF 

ONE DC X f OOOOOOOl* 

END 

END 



All-7 



Appendix 12 



MAGNETIC TAPE APPENDIX XII 

Unit Definition 

The released level of the Operating System will support magnetic 
tape device models 1, 2 and 3. It is not possible to SYSGEN any 
control information for 7340 Hypertape or 1600 BPI models 4, 5 and 
6. The user of these device types can provide UCB support by speci- 
fying 2400 type IOCONTRL and IODEVICE macros. 

Fields of the IECIUCB macro which may require change: 

Field Name 

5 Error Routine Suffix 

The user of 7340 or 1600 BPI device types may have to provide his 
own or modify the released error recovery procedure. To determine 
what error recovery procedure is required by IBM Standards, the 
user should refer to the "Operating System/ 360 Design Summary Book", 
available through the Field System Centers. 

Device Type Models 4, 5, 6 

The released version of the Operating System has within the input/ 
output Supervisor a magnetic tape start I/O module which causes a 
set mode command prior to every read or write operation. For 
9- track device type, a mode 1 set 800-NOP command is given. If one 
does not utilize feature #5320 (9-track, 800 BPI-NR7I, compatibili- 
ty) , then the NOP command has no effect and the addressed tape unit 
will automatically go to 1600 BPI for any read or write operation. 

To utilize feature #3471 (dual density) or feature #5320, a mode 2 
set (800/1600) command is necessary. To insert the correct modi- 
fier bytes into the released level of the control program would 
require modification to one or more data management modules, pri- 
maly OPEN and EOV (end of volume) . 

Data Representation 

In many accounts it is not a device type which is unsupported, but 
rather the data itself. Especially with magnetic tape, the desire 
is to implement a record format or length not normally allowed by 
Data Management. In these situations the best resource is to gen- 
erate an IECIUCB macro for a unit record device rather than mag- 
netic tape. The reason being that the device type code for mag- 
netic tape will cause certain standard control program functions 
to be performed, while unit record device type code will not. 

For example, the control program will always cause a read for the 
volume label record because the device type code specifies magnetic 
tape. If you have no labels and the first record is not of the 
correct length and mode, then a unit check condition is indicated. 
The standard error recovery procedure will execute 100 entries 
before passing control to the problem program. 



A12-1 



APPENDIX XII (Cont'd.) 

To eliminate this control program function one can modify the OPEN 
modules or generate a unit record control block. The latter course 
is recommended. 

Hyper tape 

It is possible to record data at 1511 bpi or 3022 bpi. The operat- 
ing density is set by a set density control order similar to the 
mode 1 set command of the 2400 magnetic tape series. The normal 
operating density of hypertape is low density, as set by a general 
or selective reset. (Ref. SRL A22-6828, IBM 7340 Hypertape Drive 
Model 3 with IBM System/360). 

If one wishes to operate at high density, he must insure that the 
correct modifier bits are used by the control program. The 7340 
control order to set high density has the operation code in binary 
'01010011. This format coincides with a 2400, 7-track, 556 BPI, 
data convert on. 

Therefore, to implement hypertape, the IOCONTRL macro should indi- 
cate FEATURE=(DATACONV, 7-track), and the IODEVICE macro indicates 
FEATURE* 7 -track. This will cause the necessary device type code to 
be created in the IECIUCB macro. The device type code will be used 
by Job Management to create the correct mode operation code. 

At problem program execution time, the unit allocated must be a 
7-track data convert control unit. 

If high density is required, then the DCB parameters would be: 

DEN=1, TRTCH*=C 
If low density is required, then the DCB parameters would be: 

DEN=0, TRTCH-C 
The standard error routines will work on these. 



A12-2 



Appendix 13 



DIRECT ACCESS APPENDIX XIII 

Unit Definition 

An I/O device macro with UNIT*2311, together with a CHANNEL and 
IOCONTRL macro with UNIT-2841 will create a valid IECIUCB macro. 
In order to provide support for other direct access device types, 
certain fields are known to require changing. They are: 

Field Name 

5 Error routine constant - (refer to section 
titled M User Written Error Routines".) 

9 UCB type - Refer to PLM Y28-6603, UCB Defini- 
tion. 

11 Status bits A (4-7). If the device is to be 

considered permanently resident, bit 5 must be 
set by coding the character '4'. 

Access Methods 

The user of the EXCP macro is responsible for providing his own 
MBBCCHHR in the input/output block and therefore, requires no rela- 
tive address conversion routines from the control program. In 
order to utilize other access methods, the 4th byte of the UCB 
type field specifies an index value tc the "device characteristic 
table". 

Device Characteristic Table (IECZDTAB) 

The purpose of this module is to provide the necessary direct ac- 
cess hardware constants such as track length, gap byte overhead, 
etc. It is used by a resident routine to convert relative track 
address to actual address. Refer to SRL C28-6550, System Pro- 
grammer's Guide, under the topic "XDAP Options", for a more detail- 
ed explanation and use of the conversion routine. 

All I/O modules concerned with access to a record utilize the de- 
vice characteristic table. The current known exception is EXCP. 
The table is created during Stage I of the System Generation pro- 
cess and specified by Stage I output as the macro SGIECODT. The 
format is: SGIECODT TYPE * (a, b, c, d, e) where an entry 
causes selection of constants for a particular device type. Cur- 
rent definitions are: 

Field Type 



a 


2311 


b 


2301 


c 


2321 


d 


2302 


e 


7320 



A13-1 



APPENDIX XIII (Cont'd.) 

NOTE: No definition currently exists for the 2314 or 2303. 

A typical SGIECODT macro as output of Stage I would be 
TYPE*(1 ,0,0,0,0) . The first and only parameter stating that 2311 
constants are to be assembled as the device characteristic table. 
To include support constants for other device types you must place 
a • l 1 into the appropriate parameter. 

Since no parameters are available for the 2314 or 2303, you must 
either expand the library definition of this macro or replace un- 
needed existing constants. For example, replace the 7320 with 2314 
constants. The SGIECODT macro exists in SYS1.GENLIB and can be up- 
dated through the use of the utility IEBUPDAT. 

In summary, the correct device type constants, as indexed to by the 
UCB type field, will provide the TTR conversion routine with neces- 
sary data to produce MBBCCHHR. 

TTR Conversion Routine 

The released version of the operating system provides a conversion 
routine that supports the 2311. It is quite possible that the rou- 
tine may work without change for other device types. However, in 
the specific case of the 2321 data cell, it will not work without 
modification. To change the module you must update the member 
IECPFIND which exists in SYS1.M0DLIB and is included in the nucleus 
at SYSGEN time. (Bin # calculation is wrong.) 

Direct Access Error Routines 

The released version of the operating system provides for error 
correction of the 2311. While it is true that status and sense 
information is identical across device types, it also is the case 
that the same error may require a different method of correction. 
For example, the current direct access error routine will recognize 
multi-track file mask violation and cause cylinder switch upon 
reading the 10-track. Therefore, if one used the QSAM access 
method which employs multi-track search and read with a 2302, he 
will either lose capacity or data retrieval. He will use the first 
ten tracks on each cylinder. 

For a particular device then, the user may or may not have to modi- 
fy the current direct access error routine. The dependency is 
based on what access method and features are employed. The resi- 
dent error routine is a member of SYS1 .MODLIB with a name of 
IEC2311A which is included with the nucleus at SYSGEN time. The 
transient portion is also in SYS1. MODLIB with the load module name 
of IGE0000A and included in SYS1.SVCLIB at SYSGEN time. 

Refer to section entitled, "User Written Error Routines" for addi- 
tional information. 



A13-2 



APPENDIX XIII (Cont'd.) 

Special Features 

The two-channel switch is not currently supported by the operating 
system. However, it is possible to SYSGEN an alternate channel path 
by the macro specifications. 

IOCONTRL UNIT=2841,ADDRESS»XX,FEATURE=2-CHANSW 

IODEVICE UNIT«2311,ADDRESS»XXX,OPTCHAN=2 

No comment can be made as to possible execution time capabilities. 
Indications are that current IOS routines would allow two channel 
paths, however, this has not been tested. 

Direct Access Device Initialization 

Before a direct access routine can be referenced by the Operating 
System, it must., be initialized to certain standards. The direct 
access storage device initialization utility (DASDI, Ref: SRL 
C28-6586) performs this function for IBM direct access devices. 
The released level of the utility will initialize and assign alter- 
nate tracks for the 2311 and 2302. 

Basically, the differences among the various device types is re- 
flected in the VTOC constants table maintained within DASDI itself. 
This table provides necessary device constants for the format 
4-DSCB created by DASDI and required for each volume. These con- 
stants are used by DASDM in order to allocate space on a volume. 
For additional details, reference PLMY28-6607, "Direct Access 
Device Space Management". 

Implementation 

Unless one wishes to modify the control program in order to provide 
his own space management routines (a task too enormous to contem- 
plate) , he must initialize his volumes to OS/360 standards. 

The released version of DASDI contains device constants for 2311 
and 2302 only, however, it is possible to modify the program so 
that it will provide support for 2321, 2301, 2303, and 2314. 

The symbolic listing of DASDI can be obtained through the use of 
the Print/Punch utility program. It is distributed from PID as 
volume SLIB03 with a partitioned data SYS1 .SYMLIB.UT507A and mem- 
ber name DASDI . 



A13-3 



Appendix 14 



DEVICE SUPPORT APPENDIX XIV 

A. O/S 360 Support of 2302 

This document is intended to assist anyone in supporting the 
2302 under OS/360 until it is supported by SDD. This is a 
summary of the approach used at the Lockheed (California) 
account. Lockheed is currently using the 2302 for the follow- 
ing functions: 

1. Utility work space for the COBOL compiler and 
the assembler. 

2. User data storage (accessed by BSAM, QSAM and 
BPAM). 

3. User's program libraries (JOBLIB) . 
The following functions are not supported: 

System residence. 

Work space for SORT (This may be implemented 
in the future.) 

B. Procedure 

1. DASDI all volumes. (Access Mechanisms) 

NOTE: The released version of DASDI will ini- 
tialize both 2311 and 2302 volumes. 

2. Modify the 2311 error routine to handle both 
2311 and 2302. This is a minor modification. 

3. Incorporate the modified 2311 error routine 
into SYS1.MODLIB. This can be done prior to 
SYSGEN by linkediting the revised object 
module into SYS1.MODLIB member name IEC2311A. 
(During System Generation this module will be 
linkedited into the NUCLEUS of the generated 
system.) 

Additional information is given in C. 

4. Do stage I of System Generation. Define each 
2302 volume (access mechanism) as a 2311 using 
the standard IODEVICE macro. 

5. Modify the SYSGEN Job Stream as follows: 

a. In the assembly step that expands the 
macro SGIECODT, change subparameter 



A14-1 



APPENDIX XIV (Cont'd.) 



number 4 of the key word operand TYPE= 
from a to a 1 . This will usually be 
step #8 in the job stream. This macro 
will normally be: 

SGIECODT Type * (1,0,0,0,0) 

Change to: 

SGIECODT Type = (1,0,0,1,0) 

This will cause the 2302 direct access 
device characteristics to be included in 
the NUCLEUS of the generated system. 

b. In the assembly step that assembles the 
I/O supervisor, change the IECIUCB macros 
for the devices that will be 2302' s rather 
than 2311's. This step will be the third 
from the last assembly step. It is the 
largest assembly step in the job stream. 
The IECIUCB macros build the UCB's for 
the generated system. There will be one 
IECIUCB macro in this step for each 
IODEVICE macro written in the input to 
stage 1. The particular IECIUCB macro(s) 
that need to be changed can be easily 
identified because the I/O address appears 
as the second operand. 

c. Modify these macro(s) as follows: 

Operand 9 will be 30002001 

Change it to 30002004 

This causes data management to use the 
2302 device characteristics instead of 
the 2311. 

Operand 11 will be 

Change it to 4 

This will cause the volume to be per- 
manently mounted. 

Do stage II of System Generation. 

2302 device allocation can now be made via the 
DD card using Unit^XXX where XXX is the 2302 
I/O address. During SYSGEN the user can 
assign names to I/O devices or groups of I/O 
devices by the UNITNAME macro. The user could 
assign one name to his 2311' s and another to 



A 14-2 



APPENDIX XIV (Cont'd.) 



his 2302(s). These names could then be used 
for device allocation in the DD card to insure 
allocation of the desired device type. 

C. Additional Information Concerning Step B.3. 

1. The "local fix" flag in the System Status Index 
(SSI) for the IEC2311A module should be set on 
when linkediting the revised module into 
SYS1.M0DLIB. This will cause the Update Analy- 
sis Program (UAP) to ignore maintenance to this 
module unless the user supplies a FORCE card 

to UAP. The current SSI will be the last 4 
bytes of the user data field in the directory. 

2. The procedure would be: 

a. LISTPDS for SYS1.M0DLIB. 

b. Determine current SSI. 

c. Supply a SETSSI XXXXXXXX card in the link 
edit step. XXXXXXXX is a hexadecimal 
representation of the 4 byte SSI. It 
should be the original SSI plus a 2 bit 
in the third hexadecimal digit. 

3. Example : The initial release of this module 
has an SSI of 00052029. The SETSSI should be 
00252029. See the SRL on OS/360 Maintenance, 
C27-6918, for more details on SSI. 

4. An alternate approach to Step B is to go 
through SYSGEN using the standard SYS1.MODLIB; 
then linkedit the revised 2311 error routine 
into the generated NUCLEUS after SYSGEN, re- 
placing the standard 2311 routine. This ap- 
proach has the advantage of allowing the gener- 
ated system to be tested out before any modifi- 
cations are made to it. No SSI modification 

is required. The disadvantage of this approach 
is that the linkedit into the generated NUCLEUS 
would have to be done following each SYSGEN. 



A 14-3 



Appendix 15 



DEBUGGING CONCEPTS 
STUDENT PROJECT 

The following questions have been designed to give direction in 
reading and interpreting information from an ABEND Dump. Emphasis 
is placed on control block content, the relationship among control 
blocks and many of the major internal functions of the Operating 
System. 

The questions should be answered in the sequence they appear since 
some of the answers depend on those obtained from previous questions. 

The following list of material is recommended as references. 

IBM System/360 Operating System Job Management Y28-6613 

IBM System/360 Operating System Fixed Task Supervisor Y28-6612 

IBM System/360 Operating System Operators' Guide C28-6540 

IBM System/360 Operating System System Programmers' Guide C28-6550 
IBM System/360 Operating System Messages, Completion 

Codes and Storage Dumps C28-6631 

IBM System/360 Operating System Control Program Services C28-6541 

IBM System/360 Principles of Operation A22-6821 

IBM System/360 Introduction to Control Program Logic Y28-6605 



Part I A15-1 



QUESTIONS 

I. a. Name the JCL requirements for obtaining a full ABEND dump. 

b. Name 3 ways in which a DUMP can be initiated. (Ref. CPS 
pg 102, Op. Guide pg 16) 

2 a. Explain who initiated the DUMP for JOB JPL. 

b. What is source of the value "0444" in the completion code 
line of the DUMP? (Ref: CPS pg 102) 

3. Where should one look to find the I/O devices which had 
been allocated to this Job Step? (Ref. Job Mgmnt PLM pg 25, 
Debugging Proc. pg 41) 

4. List the "ddnames" for the devices allocated in this job 
step. 

5. List the UCB addresses for each "ddname" in the TIOT. 

6. List the physical address of I/O devices associated with 
each of the UCB's for question 5. 

7. How could one determine the data sets whose DCB's are 
currently opened? (Ref. Debug Proc. pg 43) 

8. a. List the addresses of the DCB's referenced in question 7. 
b. List the ddname for each DCB. 

9. What is the size of the nucleus (in this Operation System)? 
(Ref: Debug Proc. pg 41) 

10. How many bytes of core storage does the 360 Model 40 (used 
in this DUMP) have? 

II. a. How many bytes are required for A003's RB and program? 

b. What type of an RB is it? 

c. How many bytes are there for the RB for A003? 

d. Why is the size of the RB for A003 different than the size 
of the RB for A002 and A001? 

12. a. What does the "Q" field in RB A001 point to? 
b. Why does it point to this address? 

13. In RB A003 - why is the use count=03? 

14. Which RB is "at the top" of the RB list? 

15. RB A004 is an SVRB for what SVC routine? (Ref: Debug Proc. 
Pg 35) 



Part I A 15-3 



16. The registers displayed in RB A004 contain values that were 
used by which load module? (T.jf : Fixed Task Supr. pg 14) 

17. Do the SVRB's for A004 and A005 have an extended save area? 
(How did you determine your answer?) (Ref: Fixed Task Supr. 
Pg 14) 

18. What is the size of the load module for RB A004? 

19. What is the maximum size the load module in RB A005 could 
be? (Ref: FTS pg 7) 

20. What is the address of the first byte of the SVC transient 
area? (Ref: SPG pg 39) 

21. a. Why does the PSW for L001 of the load list consist of all 

zeros? 

b. Why are no PSW contents listed for L002 thru L008. 

22. a. Why were the modules for L002 thru L008 loaded? 
b. What operation requires their use? 

23. The modules referenced in question 22 are marked RENT or 
REUS. 

a) Who (or what) has the initial responsibility for 
assigning this attribute. 

b) When is this assignment originally made? 

24. How could one find all the information asked for by the 
previous 23 questions if the only document available were 
a stand-alone dump? (A stand-alone dump has no formatted 
control blocks nor are the locations of the control blocks 
specifically given.) 

25. What is the address of the Save area provided by load 
module ABLE? 

26. a. Into which word of the Caller's Save Area must the Called 

programmer store information for backward chaining? 

b. Is this the address of the high save area or low save area? 

c. What is the contents of this word when CHARLIE is entered? 
(Ref: CPS pg 29) 

27. On page two of the Dump it says "CHARLIE WAS ENTERED, VIA 
LINK 00222, AT EP INFO FROM IN FIELD OF SAVE MACRO. M 

a) Where did this EP come from? 

b) Where did the 00222 come from? (Ref: Debug Proc. pg 50) 



Part I A 15-4 



28. a. The current PICA indicates that the programmer wants to 

control how many different types of interrupt? 

b. List the manes of the interrupt conditions. 

c. What is the address to be taken if one of the selected 
interrupts occurs? 

d. In which load module is routine to be executed when such 
an interrupt occurs? (Ref: CPS pg 97) 

29. How many entries can the trace table on this system hold? 
(Ref: Debug Proc. pg 53) 

30. What type of an interrupt was last entered into the table. 
(Ref: SPG pg 114) 

31. a. What access method is specified in the DCB for PRINTER? 

b. Locate the IOB associated with the DCB. 

c. What is the address of the last CCW executed? 

d. What was the channel status upon termination? 

e. How many bytes were transmitted? 

32. a. Was a buffer pool used with DCB for READER? Explain your 

answer. 

b. What is the contents of the first byte of the last record 
loaded into core? 



Part I A15-5 



T3 

Q 



ABLE 



ABLE CSECT 

SAVE (14, 12),* 

GETMAIN 



IDENTIFY EP=XRAY 
ENTRY=XRAY 



OPEN DCB's 



LINK EP=BAKER, 
ID=111 

CLOSE DCB's 
FREEMAIN 

RETURN (14, 12) 

XRAY SAVE (14, 12) 



RETURN (14, 12) 



BAKER 



BAKER CSECT 

SAVE (14, 12),* 

GETMAIN 



CHARLIE 



ERR 



SPIE ERR, (1,15) 



LOAD EP=CHARLIE 



LINK EP=CHARLIE, 
ID=222 



SPIE 

FREEMAIN 
RETURN (14, 12) 



RETURN 



CHARLIE 


CSECT 




SAVE (14, 12), 

INFO FROM 
IDFIELDS 
OFSAVE 
MACRO 




GETMAIN 




CL 

BE BAD 




RETURN (14, 12) 


BAD 


ABEND 444, DUMP 








-X3 
Q 



***A«[)UMP REQUESTED*** 

JOB JPL STEP GOGO DATE 66179 "ftGE OOOl 

COMPLETION CODF USFR = 0444 

PSW UPON ENTRY TO ABENO FFQ5000D 4901F5BF 

TCB 000180 P8 01F4CB PIE 0l^DA8 DEH 01F45C TIOT 01FF4C CMP OOOIBC T<m OOOOOOOT 

MSS 00003170 PK/FLGS 00910400 FLGS/LDP OOOOOOOO LLS 01F5?8 JLB 01FED0 JSF OOOOOOOO 
IO/FSA 040 1FFB8 TCB 000000 TME 003184 

PIF PICA 0001F634 PSW 00030000 OOOOOOOO 14 0000000^ 15 OOOOOOOO 00 OOOOOOOO 01 OOOOOOOO 0? OOOOOOOO 

ACTIVE RBS 

A001 004COO NM ABLE SZ/STAB 0H6710C0 USE /FP 00004CF0 PSW FF050006 70004E52 01FE60 WT/LNK 00000180 UB 005008 

A002 005008 NM BAKER S7/STAB 0<V90040 USE/FP C0OO5Q2R PSW FF050006 690050A6 OOOOOO WT/LNK 0OO04CO0 UB 005150 

A003 01F530 NM CHARLIF SZ/STAR 00167040 USE/FP 0301F550 PSW FF050000 4901F5BE OOOOOO WT/LNK 0000500* UB 01F5E0 

A004 OLFBBO NM SVC-401C SZ/STAB 0O0CDO72 USE/FP O0002D70 PSW FF040033 40002F14 A103AI WT/LNK 0001F530 

REGS 0-7 00000048 800001BC 00OIF63O 0000000? 00000008 00000002 000023B8 00000080 

REGS 8-15 0000003C 4000AC7A 0001F5E0 OOOOOOOO 6901F576 0001FO60 00002408 OOOOOOOO 

> A005 01F4C8 NM SVC-105A SZ/STAB 000CO07? USF/EP 00002070 PSW FF04000E 0001F36C DF030F WT/LNK 0001F8B0 

Cn REGS 0-7 OOOOOOEO 000051A8 00000878 40002072 OOOOOOOO 0001F098 00005150 80002EFO 

vlj REGS 8-15 00003170 0000521F 00020000 00000180 00000180 000051B8 50002F9A 0001F348 

LOAD LIST 

LOOi 01FF68 NM XRAY SZ/STAB 0004F000 USE/EP 00005000 PSW OOOOOOOO OOOOOOOO OOOOOO WT/LNK OOOOOOOO 

L002 01FB48 NM IGG019BB SZ/STAB 0C00F010 USE/EP 02O1FB58 UB 01FBB0 

L003 01F9F0 NM IGG019BA S7/STAB 002AF010 USE/EP 0201FA00 UB 01FB40 

L004 01F998 NM IGG019CL SZ/STAB 000AF010 USE/FP 0101F9A3 UB 01F9F8 

L005 01F910 NM IGG019CE SZ/STAB OOIOF010 USE/EP 0101F920 UB 01F990 

L006 01F860 NM IGG019CB SZ/STAB 0015F010 USE/EP 0101F87O UB 01F908 

L007 01F818 NM IGG019CK SZ/STAB 0008F010 USE/EP 0101F828 UB 01F858 

L008 01F7E0 NM IGG019CC SZ/STAB 0O06F010 USE/E° 0101F7F0 UB 01F810 

L009 01F530 NM CHARLIE SZ/STAB 00162040 USE/EP 0301F550 PSW FF05000D 4901F5BE OOOOOO WT/LNK 00005008 UB 01F5E0 



PAGE 000? 



Q 

^ ABLE 



SAVE AREA TRACE 



WAS ENTERED 



SA 0001FFR8 
00 00000030 

07 ooooooao 



RAKER 



AT FP ABLE 



WDi 


00000181 


HSA 


OOOOOO^q 


LSA 


0001EFR8 


PFT 


00002408 


01 


O0OIFF1C 


02 


oooooo^c 


03 


00000181 


04 


00004C40 


08 


0000003C 


nq 


4 r >D0AC7A 


10 


0001FFOC 


11 


0001FF4C 



WAS ENTERED, VIA LINK 00111, AT " RAKFR 



FP 40004CF0 
05 0001FF4C 
12 00000180 



06 000023R8 



SA 


0O01FE88 


WDI 


FF0 5400C 


HSA 


0OQ1FPR8 


LSA 


O001F5P0 


PET 


00002408 EP 


70005028 


00 


FFFFFFFF 


01 


00 00 4F5 8 


02 


0OOIFF1C 


03 


00000001 


04 


00004C40 0*5 


0001FF4C 


07 


00000080 


08 


0D0D003C 


09 


40D0AC7A 


10 


0001 FFOC 


11 


0001FF4C 12 


40004000 


CHARLIE WAS 


ENTERED, VIA 


LINK 


0022?, AT 


EP 


I NFOFROM I DF I FL DDFS AVEMACRO 




SA 


0001F5EO 


WD1 


OD05150 


HSA 


0001FF8R 


LSA 


0O01FD60 


RET 


00002408 FP 


6901F550 


00 


0001F550 


01 


0001F630 


02 


0OQ04F58 


03 


00000002 


04 


OP004C40 05 


OH01FF4C 


07 


00000080 


08 


0000003C 


09 


4000AC7A 


10 


0001FF0C 


11 


OOOOOOOO I? 


70005038 



ABLF 



WAS FNTEREO, VIA CALL 



> 


SA 


0001FD60 


W01 


FP05691C 


HSA 


r '0OlF5E0 


LSA 


0001F550 


RET 


0001F628 


00 


0000000 2 


01 


01004C4C 


02 


0001FF4C 


03 


00002388 


04 


0OO00080 


Oil 
I 
00 


07 


0001 FEOC 


08 


OOOOOOOO 


09 


70005038 


10 


0001F5FO 


11 


00002408 




INCORRECT BACK CHAIN 
















SA 


0001F550 


WO I 


47F0F020 


HSA 


IAC9D5C6 


LSA 


06C6D9D6 


RET 


D4C9C4C6 




00 


06C6E2C1 


01 


F5C504C1 


02 


C 3090600 


03 


90FCO00C 


04 


05C01821 




07 


0A0A5 001 


08 


00045010 


09 


00081801 


10 


58520000 


11 


5C420004 



EP 00004F58 
05 0000003C 
12 6901F550 



EP C9C503C4 
05 41000048 
12 50520008 



06 000023B8 



06 000023B8 



06 4000AC7A 



06 4510C00A 



INTERRUPT AT 01F5BE 



PROCEEDING BACK VIA REG 13 



ABLE 



WAS ENTERED, VIA CALL 



SA 0001FD60 WD1 FF05691C HSA 0001F5E0 

00 00000002 01 00004C40 02 0001FF4C 

07 0001FF0C 08 OOOOOOOO 09 70005038 

CHARLIE WAS ENTERED, VIA LINK 00222, AT EP I NFOFROM I DF I ELDOFS AVFMACRO 



LSA 0001F550 
03 00002388 
10 0001F5FO 



RET 0001F628 
04 00000080 
11 00002408 



EP 00004F58 
05 0000003C 
12 6901F550 



SA 0001F5E0 WD1 00005150 HSA 0001FF88 LSA 0001FD60 RFT 00002408 FP 6901F550 
00 0001F550 01 0001F630 02 00004F58 03 00000002 04 00004C40 05 0001FF4C 
07 00000080 08 0000003C 09 4000AC7A 10 0001FF0C 11 OOOOOOOO 12 70005038 



06 4000AC7A 



06 000023B8 



REGS 


FNTRY TO ABEND 








REG 0-7 


00000048 


800001BC 


0001F630 


00000002 


REG 8-15 


0000003C 


4000AC7A 


0001F5F0 


oooooooo 


-3 000000 


00000000 


0000051C 


F0F0F5CI 


0C0D0F17 


R 000020 


FF040001 


4001F36C 


FF050006 


40000003 


Z. 000040 


0001F438 


08000000 


0001F428 


000023B8 


000060 


00040000 


00000346 


00040000 


000002FE 


000080 


01000007 


00000000 


00050000 


oooooooo 


0000A0 


00000000 


00000000 


00000000 


oooooooo 


LINES 00C0C0-000120 SAME AS ABOVE 






000140 


00000000 


00000000 


00000000 


OOOOOOOO 


000160 


00000000 


00000000 


00000000 


OOOOOOOO 


000180 


0001F4C8 


0001F0A8 


0001F45C 


0001FF4C 


000 1A0 


00000000 


00C1F528 


0001FEOO 


OOOOOOOO 


0001CO 


5000526E 


50002002 


00000001 


00005200 


0001E0 


0OOO533C 


0000533C 


00000008 


OOOOOOOO 


000200 


0001FF24 


60005706 


00005DF8 


6001FA0A 


000220 


00002A40 


0000338E 


00000001 


4000284C 


000240 


0000203A 


00002138 


00002000 


00001000 


000260 


02 8096F0 


025F9029 


01004700 


028E5840 


0002 80 


58900254 


05B958S0 


024C47F0 


0BC690AI 


0002A0 


98290100 


91F0026B 


47800448 


98A1021C 


00J2C0 


90A1021C 


02070440 


001847F0 


02E45890 


0002E0 


94FD9011 


9180001B 


478002F2 


582002F8 


000300 


01FC98CO 


002858B0 


02509101 


0029078R 


> 000320 


100012AA 


07CB9280 


100098F0 


A0008900 


— 000340 


01FC8200 


00284700 


0306900F 


04005890 


I 000360 


03EA9889 


023C43A9 


A00041BA 


A0001ABA 


^ 0003 80 


49A0025C 


47A003DE 


1EB8D202 


0249B000 


0003A0 


05E60400 


03470022 


477003B8 


982E0408 


0003C0 


474003B8 


90A101B0 


58A00180 


D207A010 


0003EO 


40300400 


58C00244 


07FC4810 


00224110 


000400 


00000001 


00005200 


00005150 


0001F408 


000420 


00000008 


00000000 


00003170 


000051A8 


000440 


FF04000E 


0001F36C 


47000504 


58C00180 


000460 


01F89181 


10004790 


049A9029 


01005830 


0004 80 


581001F8 


91881000 


477C049A 


90290100 


0004A0 


04B204B6 


82000440 


00001D84 


00001C10 


0004C0 


FF0004C0 


FF0004C0 


12114740 . 


04EC48A0 


0004E0 


92F00449 


D70204BI 


04B107FE 


131158A0 


000500 


47F004E0 


90290400 


9140062B 


4770044C 


000520 


04C40203 


04C01000 


4770053? 


D20304C4 


000540 


04BE4780 


06144910 


04BCD201 


04BA1000 


000560 


10034780 


056E94FE 


100347F0 


06844190 


0005 80 


478005 8A 


185647F0 


057A4010 


50004060 


0005A0 


1008960C 


400B4150 


40185860 


50001266 


0005C0 


10009101 


01904770 


053A1801 


58101004 


0005E0 


01B09640 


400BD202 


40100181 


50400180 


000600 


401041E0 


06B658F0 


400C58D0 


40009001 


000620 


C9C7C5F0 


F0F0F0C7 


00048000 


000028E0 


000640 


00000001 


0001FB38 


0001FB84 


0001FC68 


000660 


0001FA48 


0001FA00 


0001FE28 


0001FE28 


000680 


00002656 


41400620 


50104018 


45900500 


0006A0 


062450E0 


06244780 


044C58B0 


068041A0 



00000008 
6901F576 

000023B8 
OOOOFFOO 
6309109E 
00020000 
OOOOOOOO 
OOOOOOOO 

00003134 
OOOOOOOO 
800001BC 
00003170 
00005150 
0401FFB8 
00000001 
00003592 
000019C8 
01800207 
021CO207 
82000440 
04B490AI 
052247F0 
58A001R4 
C0001200 
025805B9 
478003EA 
9107B002 
95000482 
002047F0 
1F008910 
00005200 
50002072 
02070440 
04A80523 
583004AC 
00000180 
04BCD201 
04C40203 
90290100 
10004590 
4770055A 
053A5840 
10009101 
478005BA 
9140400B 
02024015 
01BC07F9 
FF040190 
0001FB38 
00000180 
48610002 
0620058B 



00000002 
0001F060 

O0003AO8 
OOOOOOOO 
OOOOOOOO 
00000OE2 
OOOOOOOO 
OOOOOOOO 

OOOOOOOO 
OOOOOOOO 
OOOOOOOO 
000051A8 
0001F408 
OOOOOOOO 
00002410 
00000180 
00003A86 
40100038 
04400038 
90290100 
90305899 
029C0000 
12AA07CB 
07BB50F0 
1BAA43A0 
58300010 
4770030E 
478003BC 
044892FF 
000C988B 
0001F348 
000051B8 
COl 09500 
98290100 
05239829 
00000180 
1000A000 
1000A000 
581004C0 
059E47F0 
020104BC 
20084150 
01904770 
185647F0 
0779D227 
40009101 
92000449 
00003382 
0001F930 
OOOIFAEC 
IB004300 
000A0A03 



000023RR 
0000240R 

OOOOOOOO 
FF06000F 
00040000 
00040000 
OOOOOOOO 

oooooooo 

oooooooo 
oooooooo 

00003170 
50002072 
00005200 
00003184 
00005078 
OOOOOOOO 
00003A70 
94F04011 
47F00280 
91F0026B 
00000207 
O0001C58 
90C2A004 
002C41E0 
00239546 
584004B4 
96F00347 
82000020 
002247F0 
04200AOO 
0000533C 
5000526E 
C01C4770 
47F0049A 
010098A1 
000004BA 
4010AOOO 
5010A000 
12114740 
05144810 
10005820 
401A4860 
053A47F0 
05AA5010 
402001C8 
40114710 
98290400 
00001520 
00000050 
5000B4B0 
600845F0 
4E000000 



00000080 
ortnooono 

oooooooo 

0001F36C 
000002B4 
0000025E 
OOOOOOOO 
OOOOOOOO 

OOOOOOOO 
OOOOOOOO 
00910400 
000051B8 
0001F348 
0001FEF4 
OOOIFOAO 
00002070 
00174700 
90AIO1B0 
940F025F 
478002CE 
90100018 
0A0390A9 
181A58A0 
02FC98A0 
002347A0 
58504000 
58600248 
95FF0020 
034E023F 
OOOOOOOO 
0000533C 
0001F348 
047C5810 
96020441 
01R0O201 
04BA04BA 
401004BC 
501004C4 
053A5510 
04BA4910 
10089101 
50001266 
05005840 
50005060 
02174048 
06029200 
47F0044C 
00004COO 
OOOIFAOO 
50002002 
06B855E0 
F3320008 





uuurjuu 


(JUJ^ShO 


000807FF 


41500800 


14551821 




0006E0 


5334002C 


910F3018 


47E00362 


1R991849 




000700 


47800714 


4393001C 


43A20020 


89409000 




000720 


1BAA43A7 


00048940 


000341DA 


51F207FC 




000740 


927F2004 


501B0000 


48105050 


12114740 


T3 

Q 


000760 


A0709101 


10O14710 


07C80201 


50501000 


-f- 


000780 


91CB7006 


4 1C00 79C 


7 7C41«0 


07944840 


— 


0007A0 


58A05070 


181207FA 


58A0505C 


43940000 




0007C0 


9?8050EA 


47F00748 


05022015 


50794780 




0007F0 


41AA000C 


9501A001 


477007D6 


41B00020 




000800 


910?, ,^0 


47100318 


91C0402C 


47800818 




000820 


07FA9110 


70064710 


082F47F0 


081^n?01 




000840 


D201200? 


701647FQ 


0F12O2O0 


50902018 




000860 


91202000 


471008R4 


58F3O01C 


58FF0004 




000880 


511407FA 


92000048 


43670005 


9C 006000 




000840 


00045890 


506C05B9 


18994017 


001494B7 




0008C0 


080C9130 


20104 710 


0916913E 


00454770 




0008F0 


0C6F94FO 


70069453 


7^069120 


00444718 




000900 


70069184 


QO',44 788 


0O0R9477 


70064188 




0009 20 


200C47F0 


0EEC94S9 


700647F8 


P0O89U0 




000940 


4730094A 


020250B9 


20199108 


20004140 




000960 


921B5030 


02004000 


3Q2047F0 


O8S49110 




000980 


0A0F4040 


50C '9101 


20004710 


09Q40207 




C009A0 


30209108 


20014710 


09EA0501 


70314004 




0009C0 


70334004 


4 72 00 A 4C 


91043008 


478009F4 




0009E0 


47C009EA 


02017035 


A0OA41 40 


5OCOQ?02 




000A00 


09F49602 


700641F0 


030F47F0 


04924040 


> 


000A20 


42405005 


41A050C8 


02025009 


20119101 


Oi 


000A40 


41C0088C 


96067006 


47F00884 


58F3001C 


1 


OO0A60 


0994^130 


201041E0 


091A4710 


04929110 


o 


000480 


0A929242 


200494FE 


7006940F 


200O41E0 




000AA0 


003C47F0 


0A3C9110 


20004710 


08445842 




OOOACO 


08544397 


000748A9 


51C407F4 


41070028 




OOOAEO 


91010001 


478004P8 


40100000 


40100002 




000*00 


4 7F00AEC 


91207012 


47100492 


18401884 




000820 


B0001000 


91011001 


078E40BO 


000207FE 




000340 


43910004 


58C05054 


58C9C000 


07FF41R0 




000860 


0B664110 


004041E0 


00304410 


50F453F0 




000380 


4060003A 


920F0073 


82000070 


4l c 00014 




0008AO 


50E9B000 


439050F9 


46900BB4 


4140007F 




0008C0 


R00050E9 


07FE910E 


00454770 


03844130 




OOOBEO 


004450F6 


4780O03C 


18463C60 


00088870 




OOOCOO 


1 A661AAA 


1AA6487A 


52064860 


00349120 




000C20 


00149180 


00454780 


0C5458F3 


001C58FF 




000C40 


47800038 


43900045 


90006000 


47200038 




000C60 


47800C6E 


04010044 


50EB9420 


70069108 




000C80 


47800C88 


947^7006 


91800044 


471O0F28 




OOOCAO 


95500044 


47800EFF 


910C0044 


47800C84 




OOOCCO 


0O2241F0 


000C9498 


70069120 


20004710 




OOOCEO 


0CE49171 


20004780 


0CFF9604 


200005FF 




000000 


91042000 


47100F0A 


45F00B30 


91202001 




000020 


100407F8 


47000000 


9F006000 


47C00048 




000040 


200441C8 


00049180 


50E44710 


005418EC 




000060 


91040044 


47800C88 


91807006 


47800F28 




000D80 


700647F0 


0C840606 


00412009 


94BF2001 



928050E4 
91FE3010 

58743020 
4012^01F 
07484071 
91027000 
0006O7F4 
92F04000 
07644140 
47F00B52 
91202000 
200C7O14 
414O5090 
05FF47P0 
47200976 
70069640 
0O98911 
0004960R 
000447FO 
200O4710 
50304780 
20014710 
70302020 
47700A4C 
05017035 
5O8045C0 
50C41BAA 
20004730 
58FF00O0 
00444710 
0F3F4397 
00139101 
47F00AE0 
02011000 
48ABO000 
58820004 
00104 5F0 
001058FF 
58B3O014 
89A00018 
00249200 
001C4366 
70064780 
000805EF 
40900044 
00444780 
91020044 
43970007 
0F1658A3 
47F00000 
4710038C 
918050EA 
41C004C2 
91030044 
947F7006 



41C00730 
47700704 
91FF7002 
n7O82008 
00029023 
4710078O 
47F007AO 
80005088 
54F00501 
41800794 
47880003 
94FF7006 
41C0088C 
O88441E0 
05A088A0 
70069130 
00444710 
70069140 
0F2345EO 
084A02O2 
09644140 
0A9E41A7 
13AA43A7 
05037033 
40084740 
085C4770 
43470030 
043C0202 
05FF47F0 
08F747F0 
00074349 
2000471H 

47F00A03 
505207FF 
124A074E 
43420004 
0B409200 
00348910 
58CB0OO0 
58F05060 
50E41B99 
51FA1A67 
0C5C4817 
91FF0044 
91402001 
00580206 
47100FF8 
48A951C3 
001C58FF 
47F0000C 
02011000 
47100740 
47F00720 
47800C84 
47F00C76 



13111804 
48730022 
47F00R62 
20080403 
10041840 
91C0402C 
47F007F4 
80000078 
400210O? 
91117006 
43970007 
45F00B04 
92005030 
0O0C439O 
001842A2 
201005CC 
08F645F0 
00444713 
0B0C9240 
50892011 
50A80200 
00319102 
00308940 
40064740 
09F40501 
04629000 
89A00004 
50092019 
0A8247F0 
040241E0 
51C44 7FA 
0ABE58A2 
41070028 
48A00002 
19A14770 
89A00018 
7006180C 
001007FF 
41B30004 
07FF4290 
1R114860 
436651FA 
00149823 
47700C54 
47100086 
20090041 
91310045 
05FA9120 
A0009103 
47F00D3E 
50504010 
58A05074 
91207006 
02017014 
910F0045 



58420014 
91707012 
58320004 
200O500C 
D2001004 
47100FE2 
45F00AC2 
429AOO00 
4770076A 
47700822 
48A951C6 
927F2004 
50A00048 
508048A9 
00104067 
18F84780 
0B0C47F0 
00089680 
20029202 
91012000 
50857018 
70064710 
000441 A A 
0A4CD503 
7035A00C 
6H0047B0 
43AA3020 
50A00048 
0A7A47F0 
0D0847F0 
000841A7 
001047F0 
47F00B0C 
401A0000 
0B0F02O1 
58F05060 
181B47F0 
50100118 
1B99D100 
50E90100 
003AD500 
54A050BC 
10045842 
91310045 
91807004 
91040044 
47700FFC 
70064780 
200C4770 
47F00D22 
505092FF 
07FA927F 
47100090 
00449610 
47700B7C 





OOODAO 


41B00080 


47800B52 


45E00E14 


918050EA 




ooooco 


45F00E14 


48FA0000 


07FE4817 


002891C6 




OOOOEO 


91C47006 


077E180E 


98231004 


58420014 




OOOEOO 


41C00E10 


47F0078F 


47F00024 


47F00OBC 


Q 


000E20 


89900002 


IAA907FE 


94AE7006 


4397000B 


-i 
—f 


OOOEOO 


0C9007FE 


91207006 


47800022 


58A4000C 


— 


000P60 


071F9106 


7006078E 


91040044 


0788Q1A0 




000E80 


00BC48A7 


002E07FA 


91807006 


47100EF4 




OOOEAO 


50A00048 


9C006000 


47400FB8 


47300B4F 




OOO FCO 


91020044 


47800FOO 


92107016 


92FF7017 




OOOEEO 


02012002 


701607FE 


45E00E88 


41F00010 




000^00 


70064740 


00339409 


70069120 


20044780 




000F20 


20004770 


00939120 


20044780 


0F3E957E 




000F40 


0F0A9102 


2O00071E 


9640402C 


40730012 




000F60 


0F669640 


402C9120 


70124780 


0F8453F0 




00OF8O 


47F00E7E 


58A0507C 


9601100^ 


41F0002? 




OOOFAO 


50FA5821 


000445C0 


060A4367 


00045460 




OOOFCO 


700647P0 


07849104 


200041F0 


000C4780 




OOOFEO 


0CO29248 


20044180 


079447F0 


0FOA960 1 




001000 


001053CS 


006*9180 


C00458BC 


00044710 




001020 


9000AOOO 


47705020 


41B05048 


50B00048 




001040 


01060000 


00000000 


OBOOOOOO 


00000001 




001060 


0000247? 


00004788 


000004B0 


00003A90 




001080 


OOOOOOOE 


00003FFF 


FE800044 


47100F28 




0010A0 


04001342 


20000006 


00000000 


60000001 




0010C0 


07001350 


20000006 


07001350 


60000006 


> 


0010E0 


0000U7A 


80002000 


00000004 


000005EF 


O) 


001100 


OOOOOEFC 


OOOOOEFC 


00001*28 


00000000 


. 


001120 


01009FOO 


60004730 


07F807FC 


41600200 


— ■ 


001140 


48110000 


45E00006 


47F05140 


47F00030 




001160 


45E00DCA 


47F051BC 


48705230 


45E00DCA 




001180 


51EE41E0 


517A47F0 


51A0D201 


51F651F2 




0011A0 


50E050E0 


45F00006 


47F051B0 


47F00030 




oonco 


47FO0OCF 


0AF00AA6 


OF420AEO 


092E0F44 




0011E0 


2000FFFF 


11E20000 


1U8FFFF 


11FAFFFF 




001200 


00000F13 


15F00000 


00000000 


00000000 




001220 


126C12 84 


129CO0O0 


12CC12FC 


132C1394 




001240 


00090000 


04000004 


00F0F0F9 


10000820 




001260 


80F0F0C3 


10000801 


152C4000 


0080FF30 




001280 


14FO0000 


0080FF88 


0O0E8OO0 


07030000 




0012A0 


01800006 


09040100 


0OF1F8FO 


30C08001 




0012C0 


00000000 


00000000 


OOOOOOOO 


0040FF80 




0012E0 


15140 844 


03400000 


03C703F0 


F0F10800 




001300 


01830006 


09060100 


00FIF8F3 


30008001 




001320 


00000000 


00000000 


00000000 


0040FF8F 




001340 


152C0008 


00C30000 


E2E8E209 


C5F20800 




001360 


11000501 


C5000000 


13001378 


20000001 




001380 


OOOFOOOO 


00000000 


00000000 


00000000 




0013A0 


00F1F9F1 


30002001 


14F00004 


00C8O00O 




0O13C0 


FFFFOAEO 


00000000 


30000200 


00000000 




0013E0 


00000000 


00000000 


oooooooo 


00000000 




001400 


0192000C 


01090100 


00F1F9F2 


30002001 




001420 


00010100 


FFFF1424 


FFFFOAEO 


00000000 




001440 


0801F670 


20000004 


0002FFFE 


OBOOOOOO 




n^i ^.An 


oo?oFF80 


02810006 


090A0200 


00F2F8F1 



471000C4 
7006477F 
41800E03 
18EO07FF 
58F95104 
4AA2001C 
50EA4748 
41A70016 
90006000 
91100044 
47F00CC6 
0008943F 
20049244 
02011002 
506405FF 
07FA0014 
50844180 
0C0291C0 
700641E0 
501658BC 
9C00A0O0 
152CFFFF 
00OOO3A2 
17000000 
03001085 
1FOO1005 
OOOOOEFC 
00004AF8 
9F006000 
4870522C 
47F051BC 
410051F2 
02010004 
0ACC096F 
111EFFFF 

oooooooo 

13FC1460 
152C0000 

OOOOOOOO 
40F0F0C5 
OOOOOOOO 
01820006 
OOOOOOOO 
14FC4025 
019000*C 
00010100 
16001380 
07000700 
E6060902 
IA000000 
OOOOOOOO 
152C0004 
06000306 
OOOOOOOO 
30C08001 



8000A002 
00041211 
912050EA 
41A05106 
58A0507C 
50A4000C 
0004940F 
50A050AO 
47B00EB0 
47100EA4 
96402001 
402C91^C 
20044780 
S23A47F0 
47F00FEF 
58CBO0OO 
00BC9120 
40 7C47E0 
0DBC4107 
000C48AB 
50005044 
000004BO 
0000029C 
60000006 
600000CI 
60C00001 
OOOOOFFC 
0B0C0A97 
478007F8 
45E00DCA 
020151EF 
481051F6 
100058F0 
0E5CU3A 
UF2FFFF 
OOOOOOOO 
14901 4C0 
0080FF88 
00020000 
10000808 
OOOOOOOO 
09050100 
OOOOOOOO 
03000000 
01070100 
FFFF1354 
20000004 
0040FFA0 
FOFllOOO 
70000005 
OOOOOOOO 
00C80000 
01000000 
00000800 
OOOOOOOO 



30000078 
474E0004 
478007F8 
50605080 
05EF4817 
47F00CC? 
700645C0 
920450A0 
910F0045 
91207006 
47F00D22 
402C4780 
0F3E9241 
0F849102 
47F00FC6 
41500800 
20004780 
0F1F41F0 
002847F0 
000441BO 
82005040 
0000UC4 
0O002 97C 
03000000 
08009600 
0801EED8 
OOOOOEFC 
IB6647F0 
07FC4100 
47F051BC 
51EA4100 
41F05190 
50E007FE 
80001150 
U2C0700 
123C0000 
FFFF1230 

ooocoooo 

00F0F0C4 
152C4000 
OOOOOOOO 
00FIF8F2 
OOOOOOOO 
O3C7D3F0 
00F1F9F0 
FFFFOAEO 
OOOOOFOO 
0191000C 
00010100 
0801F9A8 
07000700 
C403C9C2 
IA001448 
01F9280E 
OOOOOOOO 



AGE 0005 
47000000 
48710002 
45C00720 
43905082 
001447F0 
91047006 
072041EO 
41A050A0 
47700B84 
47800D2? 
07FE9106 
0F5A9130 
200441E0 
20004710 
47F00F84 
IA5592A0 
0FC691C6 
001047F0 
0AC258B0 
07FF14A8 
91310045 
0000026B 
000004C8 
20000006 
OOOOOOOF 
C2010000 
OOOOOEFC 
07F84160 
51E21810 
4870522E 
51EA4810 
47F051A0 
48110000 
4000118A 
02000000 
00001254 
0080FF82 
00010000 
10000802 
0040FF80 
OOOOOOOO 
30008001 
0040FF80 
F0F10800 
30002001 
OOOOOOOO 
OOOOOOOO 
01080100 
FFFF13BC 
OOOOOOOO 
0040FFA8 
F0F21001 
70000005 
40000500 
OOOOOOOO 





001480 


00000000 


00000000 


00000000 


OOOOOOOO 




0014A0 


30008001 


26004025 


03000000 


F2C309F3 




0014C0 


0020FF80 


028 30006 


090C0200 


OOF2F8F3 




0014F0 


F0F10800 


00000000 


00000000 


OOOOOOOO 


Q 

-s 
— t- 


001500 


FF009598 


000095BC 


14FC13FC 


FF009598 


001520 


1514132C 


FF 005 12 


00005144 


15201284 




001540 


00000000 


15500000 


FFOOOOOO 


OOOOOOOO 




001560 


FFOOOOOO 


00000000 


15740000 


FFOOOOOO 




001580 


158C0OO0 


FFOOOOOO 


oooooooo 


15980000 




001 5A0 


00000000 


15800000 


FFOOOOOO 


oooooooo 




0015C0 


FFOOOOOO 


00000000 


15040000 


FFOOOOOO 




0015EC 


00010000 


00000000 


oooooooo 


0901000 




00160C 


00400000 


00000000 


oooooooo 


oooooooo 




001620 


00000000 


00030000 


0000 00 2 


oooooooo 




001640 


00000030 


00020000 


oooooooo 


OOOOOOOO 




001660 


20000000 


00000000 


98016034 


0A0A0203 




001680 


1011401C 


5 8F8 005C 


50F10014 


50E50058 




0016A0 


PP050000 


oooooooo 


05<S05R2o 


400458^0 




0016CO 


50204004 


H71F2000 


20PO5840 


20005010 




0016EC 


80FF6037 


0A03000O 


05E018FF 


9RC0E09? 




001 700 


41FF0004 


O7FC0507 


3000100R 


4770F00C 




001720 


077C95E0 


1012078C 


91401013 


071C98A8 




001740 


89000003 


O207E08A 


00205010 


F0360A0A 




001760 


071C5819 


00201211 


078C47F0 


F0444U1 




001780 


FFFFFFFF 


000016EA 


05B01820 


41C0080R 




001740 


92F0B0F0 


47F3803F 


05B04140 


00201FB4 


> 


0017C0 


91C01008 


47103044 


129947A0 


B04C9200 


1 


0017F0 


477080C4 


1A9E5837 


000047FO 


R08658A3 


001800 


IF921843 


18821F2A 


10225833 


00001876 


ro 


001820 


47E080A4 


5D860004 


47F030A4 


13195037 




001840 


47F080C4 


15A74700 


30C4187A 


18561363 




001860 


18585835 


00001865 


58A30004 


41423000 




001880 


31105861 


00005866 


00001576 


4740BI 10 




0018A0 


820641^0 


000447F0 


03A25321 


00005891 




0018C0 


R2044780 


81405324 


00049101 


002147F0 




0018E0 


16251725 


41220000 


587004B4 


58370018 




001900 


05804140 


01781FB4 


58410004 


4560B120 




001920 


82084144 


00001883 


41624000 


47F0B1B4 




001940 


58330000 


12334770 


31A61855 


15784780 




00196O 


15544780 


31F85034 


00005024 


00045047 




001980 


B1D65853 


00041E25 


50230004 


07FA06C0 




0019A0 


B11841E0 


03A25800 


04B4181C 


89100008 




0019C0 


07FC0000 


00000000 


05F05 8CO 


04B491F0 




0019E0 


0000D2O7 


B0100028 


021FC030 


01FC4810 




001A00 


5800F056 


07FD4110 


00F241E0 


03A247F0 




001A20 


00001363 


800C0000 


58C00010 


53CC003C 




001A40 


C089071E 


9140F033 


071F9630 


C0894110 




001A60 


0104400C 


00001A3C 


00040022 


40001ABE 




001A80 


0001FF30 


000053A0 


00000010 


00005418 




001AA0 


0O0000O4 


O00O52F8 


6000509F 


0001FF38 




001AC0 


00001A58 


00000180 


05F05890 


30585809 




001AE0 


5E090008 


4730F026 


5500F086 


4740F02A 




OOIHOO 


18B08880 


00015CA0 


F08E50AO 


F092180R 




001B20 


1BAA50A0 


F09618CA 


8CC00004 


4B10F060 




001840 


F09947F0 


F0568800 


10001800 


47F0F030 



0020FF81 
C3C85 80 
30008001 
1508 I 3FC 
00009S8C 
FF01F403 
155CO00O 

oooooooo 

FFOOOOOO 
15RC0000 

OOOOOOOO 

oooooooo 
oooooooo 
oooooooo 

04200000 
101C501C 
98015020 
501C1222 
200094F0 
13«04U4 

1RRR4381 

10005OAB 
05F0989F 
0001F5D0 
18904560 
92OOR087 
807347F0 
0004419A 
470080A2 
00001855 
58330000 
189347FO 
12274730 
00083990 
31501299 
41330000 
58440000 
58530004 
81021567 
000007FA 
06C006C0 
4310002 3 
025F4770 
002A41E0 
F02C41E0 
9108C03D 
F09013U 
OOOOOOOO 
0001F3A4 
00005282 
00005E09 
5E00F08A 
8A100001 
12B34780 
C612213B 



02824006 
OOOOOOOO 
14FC0844 
FF008B48 
14F0132C 
1001F45C 
FFn,-)0000 
15800000 

oooooooo 

FFOOOOOO 
FFFPOOOO 

oooooooo 
ouooooo 

00010000 
00404000 
5015001C 
OA030700 
47706020 
90140600 
00245811 
001487BO 
000050BA 
E01F1BFF 
FF040009 
B1401241 
920O30E0 
B05092F0 
30O0152A 
58610004 
41A03UC 
12334760 
807A4700 
305047F0 
000841C0 
4740B20C 
58E30004 
41A0BUC 
1E53L554 
4730B20A 
50380000 
06C05870 
3910000C 
F04891F0 
0448180C 
029C4U0 
4780F016 
07FA9260 
00004CDO 
00000001 
50002002 
000458A0 
12114760 
4780F030 
F07C4910 
39E00EC^ 



090B0200 
OOOOOOOO 
03280000 
00008B6C 
FF01F44C 
15440000 
OOOOOOOO 

FFOOOOOO 

15A40000 
OOOOOOOO 
FFOOOOOO 
OOOOOOOO 
01000000 

oooooooo 

40000300 
02091008 
00040040 
920C5009 
90141000 
00001211 
F0384231 
00041000 
90AB0020 
40002F00 
47BOB18A 
58410000 
B0731B88 
4720B0BA 
50960000 
1RFF47F0 
B0641288 
B20691C0 
B0D89120 
080B91C0 
119C4150 
07F658EO 
41500007 
47C0BIC2 
4780B1FA 
5E270004 
04B491A0 
58C 00010 
03474770 
8910000C 
00F147F0 
94F7C08D 
C9C5C5C1 
00000001 
00004B18 
OOOOOOOO 
00508AA0 
F0365810 
41100020 
F09A47B0 
00030040 



'40E 0006 
00F2F8F? 
OOOOOOOO 
D3C7O3F0 
153813FC 
000029B0 
FFOOOOOO 
15680000 
OOOOOOOO 
FFOOOOOO 
15C30000 
OOOOOOOO 
^0000000 
00000010 
25000000 
00000220 
60300600 
00000020 
41205060 
181AIBFF 
4770E01C 
Q01412BB 
4A010010 
91F09012 
000003A2 
92F08087 
4560B120 
1B771222 
4700B0B4 
91C01008 
31021886 
4780B0FC 
100847E0 
100847E0 
10084740 
00071A25 
100858F0 
14544770 
18871873 
1222078A 
187847F0 
70104750 
58CC0034 
F03C58BC 
5610F05A 
F02C0000 
07FE9180 
E305E7E7 
00004BBC 
7000A3AA 
0A220A03 
OOOUFOA 
303807FE 
920AF099 
F056970C 
024AE062 





oo» 


OOOOOOOA 


00180000 


05F047F0 


FOOAOOr^ 




ooiWo 


C01F47RO 


F02A5800 


r 0264l00 


0FOi07Fn" 




ooibao 


4 770F066 


5 1C 0010 


962 ICO 10 


580C0018 




001 3CO 


00240202 


0025F098 


92000022 


98010400 


Q 


OTIREO 


9200B01C 


0203DO0F 


80140202 


B015FQ9B 




oo icon 


00001863 


00OQ1C0P 


OAODOOOO 


00000000 


— 


001020 


13665F60 


F 1061366 


5F61 OOOC 


4 7^0F0?O 




001C4C 


00CR9680 


10OO5560 


F0420762 


41FOF048 




001C6C 


7A2 5 85 


00105«lo 


FL9A9867 


10045 067 




001C*0 


F03C1861 


411^1060 


187FIR00 


OiO?18F7 




001CA0 


FQ780203 


1008F126 


02021001 


1OA50203 




ooicr.o 


00181R71 


41 U0060 


13115350 


5 4 5 F 5 




001CF0 


5F60F18F 


1F665P60 


005050*0 


00505070 




ooinon 


FUE1831 


58830004 


95PF300C 


4 78 OF OC 4 




001020 


F1921277 


47A0FQQ4 


137747F0 


F0061F74 




001.) 40 


45?0F \2d 


IB2 347F0 


FO7C02O3 


FUA50 3 8 




001060 


02038038 


F 1 1A0203 


1O0CF122 


47F0F0F0 




001080 


00CF4C0C 


08009l«0 


10 000782 


5R^10onr 




0010AO 


5F40D06? 


504 1000C 


41 50006A 


S85SOoq^ 




ooi ore 


501 ^POOR 


50160004 


947F 1000 


07F7125S 




001 UFO 


00SP4 7F0 


001F0204 


31 34 3 84F 


ooonoooo 




001F00 


04000C0O 


00001E10 


OOPOIOFO 


3iqA884F 




OOIE20 


0O001F10 


"FFPFFF 


05F053A4 


P07«12A^ 




00 IE 40 


FO0A5890 


3053SROO 


00503AOO 


O0O1 1300 




031E60 


12114780 


F04C9283 


A000181 A 


5R20F1CF 




001F30 


05F09i"*0 


5 02 047C0 


F0321821 


1^9<UR1 i 


> 


001FA0 


200O4F05 


00605CC9 


F1621E10 


41220002 


Oi 


001EC0 


4700F046 


5810F15E 


5C00F156 


5O00 c 15A 


1 


001EF0 


00508Ano 


000U30O 


5F09O0OO 


5FOP0004 


CO 


OOiFOO 


150A4740 


F0361F0A 


1FID4730 


F03E1F 1 A 




O01F20 


91802 000 


4710F0C0 


9OF55O60 


18A51812 




001F4C 


F0009UO 


200047CO 


FOQ09 140 


200B4710 




001F60 


4780F0F2 


4710P0PE 


9636?00O 


47F0F0F6 




OOIF 80 


41000000 


12D047R0 


F13250O? 


OCIC58A0 




001FA0 


88002064 


4740F 132 


IUP13AF 


0A0A18FA 




OOIFCO 


A00047CF 


00004110 


A0600703 


A060A060 




001EF0 


0083D5FF 


C6122138 


0O057F40 


00^01770 




002000 


05F0120O 


078E92FF 


002O58B0 


FO7F9140 




002020 


42210000 


96801000 


IB665Q63 


000007FF 




002040 


08090A0B 


0C0OOF17 


0F101RIP 


11 1 A1B1C 




002 060 


1300297A 


2B2C0214 


15160220 


022F0200 




002080 


0006C800 


20380020 


00002463 


0O222000 




0020A0 


E8001788 


001AC800 


16690016 


AO00OF98 




0020C0 


IE350000 


0B415861 


01C45FBI 


C2O0C171 




0020F0 


09C06007 


064148F9 


04")150R2 


04*05261 




002100 


024199D9 


010UBA6 


01 02 IE IE 


0BC242A1 




002120 


0AC15CFQ 


06806007 


OCC10401 


0980FOO7 




002140 


020 75010 


O02041B0 


000753A0 


n248l4«A 




002160 


13000A0A 


12FF4780 


C0485BFO 


40189602 




0021 80 


50A0100C 


40801008 


9 2C0100A 


9262100B 




0021A0 


07F24RA0 


025CIFAA 


1EAA5EA0 


C0045860 




0021C0 


06R818D6 


9869C003 


38000003 


413007FF 




0021 EO 


900E1000 


5090100C 


15F84780 


C0PC18A5 




002200 


8860500C 


05E6 0A03 


oooooooc 


000020C4 




002220 


58CO0244 


023F4030 


0400940F 


03470502 



00001 A58 
OOOOOFFE 
9200O76B 
98A0F08A 
47F0F066 
05F09180 
18665061 
47F0F07C 
00045076 
181647F0 
100C101C 
1 8179683 
F18E47F0 
5378000C 
507OF 19? 
4F60FU6 
OOOOOOOO 
I 8645850 
5545000C 
4740001 A 
OOOOOOOO 
45000000 
4760F010 
5F090000 
58F0F1O2 
41A00004 
47F0FO16 
1FU9140 
5E090008 
5510F 16? 
5820F176 
F1549240 
96382000 
501CO203 
50102064 
41000001 
00000064 
1000077F 
000004*0 
101E001F 
002F02OO 
17A80019 
00366900 
0R016007 
04005FC1 
0BC34A19 
06410399 
17AB41B0 
401D5P10 
023F1020 
A0004260 
14B0170B 
0586000F 
00002656 
00250060 



90AOF08A 
9180C010 
91F00347 
07FF58BC 
OOOOOOOO 
10OO078? 
000C^845 
000010FO 
00085B71 
F0784740 
5071006C 
10005810 
F0009101 
1F745073 
1B775070 
41660001 
OOOOOOOO 
00503A50 
47200026 
5E400062 
00001E00 
00001F18 
130047F0 
13005E0A 
05221810 
41B00010 
58110000 
50204780 
53A0F16? 
4740F09A 
53F0F17A 
20000400 
96802000 
2010AOIO 
181218A2 
0A0107FE 

oooooooi 

9601501C 
OOOOOOOO 
20212223 
00000730 
000024A9 
39CF003A 
0900E007 
02C0OCC7 
0BC45136 
OOOOOOOO 
800BU1B 
F0044110 
40305050 
024B48D0 
38000003 
9610500A 
00200100 
4770CU8 



18C041CC 
4770F03F 
4780F06C 
00000200 
00004CO0 
58600050 
10045045 
05F0586O 
00009106 
FO9C9U0 
50110068 
F19A5871 
10004710 
0O0C47FO 

F18E18R2 
4F60FU6 

3184884F 
00011F45 
58650008 
50400062 
00001DF4 
OOOOIEOO 
F04C9183 
000C4730 
07FE2OF0 
869AF03A 
47R0F050 
F08F5890 
47C0F07E 
5810F162 
052298F5 
20005020 
5012000C 
96102000 
58203068 
729F033B 
00001C36 
43210000 
07FF0103 
24252600 
02003100 
0024A900 
490039E7 
03C15EEI 
03015BC7 
0BC14491 
4 7A0C06A 
lElllEll 
10201B00 

loicsoio 

00224520 
40B01018 
98015020 
F3F0F5CI 

58F04004 



120C010 
02O3H00C 
OO10B01C 
00000180 
8A600001 
00045054 
00501266 
10O047C0 
10004780 
13775071 
O0OC1867 
F0F05840 
FQAA5870 
96801000 
96CFF110 
C612213B 
4 7400048 
90561004 
1F665060 
OOOOOOOO 
C612213B 
A0004710 
F0361B00 
9240F001 
F2715060 
5910F15E 
305858D0 
47F0F084 
58240078 
A06047F0 
91035020 
58050020 
41000048 
05229106 
00989680 
00001C12 
50510000 
04050607 
27280212 
00000032 
24A90016 
001F2800 
09816007 
0640F007 
01415ADI 
4120C0C0 
410HOOO 
5000FOOO 
40001851 
C00845F0 
40B0101A 
980^5054 
00002070 
9200E000 



Q 



> 



002240 
002260 
002230 
0022AO 
0022C0 
0022FO 
002 3 00 
002320 
002 3 40 
002 3 60 
002380 
0023A0 
0023C0 
0023E0 
002400 
00242C 
002 440 
002460 
002480 
0024A0 
0024C0 
0024E0 
002500 
002520 
002540 
002560 
002580 
0025A0 
0025C0 
0025F0 
002600 
002620 
002640 
007660 
002680 
0026A0 
0026CO 
0026E0 
002700 
002720 
002740 
002760 
002780 
0027A0 
0027C0 
0027E0 
002800 
002820 
002840 
002860 
0028 80 
0023A0 
002 8C0 
0028E0 
002 900 



98D2E008 
C1549510 
123B4770 
50004000 
50284800 
F0589O01 
5880C008 
A0L89823 
58F0AO0C 
478HC254 
00601201 
55708016 
00002940 
00001206 
0O0O0FFF 
00001084 
00000448 
000023BO 
471OF032 
139907 C F 

0201501R 
A00A4710 
0200A014 
9130500R 
47C07030 
02025010 
710448^2 
71044108 
744F9140 
71 72^204 
729441C4 
0001423A 
000441 AR 
0010S843 
71E28799 
720C4160 
3799724C 
60208000 
0207601C 
D19C1BEF 
0010910-} 

88000001 
74B00A0A 
50C60010 
601f 9102 
73AB47F0 
37997360 
0200AO03 
00004136 
59507484 
A00D6015 
60324770 
60321816 
773805FF 
10 141 IF 



50000024 
A00A4770 
C13A0203 
91E0AO0A 
A0088900 
F04847F0 
0583000E 
10045850 
50F00024 
58BOA018 
58101004 
072A1377 
00003530 
0000069A 
r »rt'>?656 
0OO01C36 
00001 IE2 
00000000 
91808000 
OOOOOOOO 
20100200 
74469140 
501A0202 
47807088 
02035004 
20109130 
00088900 
000 30A09 
A0084710 
71510502 
002458BC 
O00CO202 
00080507 
00005844 
71FA9200 
75330*00 
98015000 
73AR5016 
A000O203 
12FP4770 
60324770 
39000003 
1AA1071F 
92FF6010 
60284730 
73929200 
41B07738 
6^270203 
004058^0 
478073C3 
91C06032 
744A47F0 
5 800748C 
0A0341FE 
01063910 



9830403C 
C14E94EF 
40680014 
4770C178 
0003181A 
044805^3 
980F5020 
024C58B0 
41E0C0CF 
53108000 
4770C208 
O7FAO0O0 
OOOOOOOO 
OOOOOOOO 
0/\0T|0 7FF 
O00015E2 
000004BA 
O5F018A0 
4780F02A 
13761863 
501A2014 
A00B4770 
A01P5010 
9680A003 
30544580 
200B4780 
00034112 
47F070FO 
710C47FO 
30555005 
000090BC 
5021A000 
AOOOCOOO 
00041 BFE 
10090 A04 
60000263 
37997228 
00001200 
601874AC 
743E8799 
72A641C0 
180CIA00 
AOOOAOOO 
4A007294 
73280202 
60270202 
50360010 
A0186035 
748005EF 
889000^1 
478073E8 
742F01 10 
r >A0A4780 
010C41FF 
00OC561O 



82000020 
A00A58B0 
94BFA0OB 
9602A00R 
0A0A9100 
COOCOOOO 
0A03910C 
C000186A 
58OOAOO0 
5010A018 
O23F4O30 
OOOIFFFF 
000010F0 
000C1R68 
0000297C 
000036?C 
OOOOOOOO 
138147F0 
580B0000 
5825001C 
47R07092 
703041B3 
41AA0000 
947F5003 
71T60003 
70CA9680 
OOOOOAOA 
4580713C 
704F10F0 
4770714C 
A00050AB 
97OOS020 
0738583B 
18634893 
92801009 
92F0026B 
93015060 
47A0775F 
41060018 
73549102 
00201B00 
1 A031BAA 
49C07293 
06 008800 
*0014029 
6O2AA00O 
02026001 
50507434 
982A610C 
47F07334 
9610A00R 
60324780 
742E4100 
010041EF 
74301963 



18A5580A 
A0184100 
15D44770 
9122A008 
000A4710 
4780C19F 
A00B4730 
058R18C4 
91010021 
950CAO09 
A02O4 7F0 
0A2307FE 
00002396 
00661 79F 
000010F3 
000014*0 
00002472 
F0124700 
9400001C 
IREE9507 
4580718C 
005O50B5 
50A5001C 
98015020 
9600A00A 
500R943F 
9110200A 
47F07112 
54007430 
92107151 
000450AC 
47F07038 
000047F0 
00004899 
5860748R 
47F07210 
18300227 
47F07282 
902A610C 
60324780 
91206032 
58107480 
477072F0 
00033799 
91016028 
02096032 
30558000 
53B0747C 
13FE12FF 
9610A00A 
91FF600C 
74164116 
74B81BU 
010041EE 
4780747A 



001C91C0 
80089220 
C1689640 
4780C196 
CIB218F4 
9201024R 
C2285810 
58C00244 
4770C224 
47C0C24A 
C1541299 
OOOOOOOO 
0000392C 
00004318 
0O0036C8 
00001050 
OOOOOOOO 
FOOA4190 
50AB0000 
20134720 
47F07036 
00589640 
0202A015 
53F5005C 
47F0706C 
200B41B2 
47807104 
458071C6 
160F9001 
458071C6 
000041AA 
58C50000 
71940570 
74968990 
12FF8799 
9200600C 
601CB000 
800073AB 
58B30O5C 
74425336 
47R072BC 
8799720A 
96F0A00A 
73100600 
47807336 
74AA0203 
736B3799 
07078000 
4770745A 
58B0747C 
47807402 
00000201 
0A088799 
010041EE 
91FF600C 



A00A4740 
B0120A09 
401D1B11 
4740C18A 
9809F030 
18504520 
A01R4870 
18A61217 
92000020 
D203B000 
4770R00A 
00000480 
000038E0 
00004C60 
00004C40 
00004CO0 
00000180 
00081BF9 
96408000 
71260207 
458071C6 
A00BD201 
A00OO2O3 
040318A2 
91C0200A 
00009120 
58BB0018 
000691FO 
50004580 
00109620 
000R433A 
58B40024 
41B001B0 
00104110 
71F64770 
41B6001C 
8799723A 
8799733E 
41060040 
003488B0 
43060031 
41A00008 
1ACA50C6 
400A0008 
02026001 
6035A018 
73920203 
B000902A 
800073BI 
O207B000 
02000263 
600E7546 
8002581A 
00FE41EE 
4780747A 



'AGE 0008 
C 1064770 
S8B0B020 
06100AOD 
02334038 
0217F030 
C00E18A0 
10005070 
4780C254 
82000020 
A06050BA 
58900484 
000004C8 
000011FA 
00004C78 
00004C50 
00003208 
OOOIFFFF 
91408000 
947FB000 
5000F000 
000291E0 
A0105018 
505CA014 
9100200A 
47707456 
200A4710 
12BB4780 
A00A4710 
718C47F0 
A00A4BA0 
000C41B8 
12BB4788 
1B7R5830 
748C8799 
74464780 
50B60008 
0203A004 
58130054 
05FB982A 
000841CO 
41000003 
1AOA5600 
00041ACD 
O2O7A0O0 
30098000 
41B078C8 
A000602A 
610C4116 
87997306 
A000O202 
60009130 
OA309120 
OO1841F0 
010141EE 
02000268 



-o 



I 



002920 

00294^ 

002960 

002980 

0029A0 

002 9C0 

0029E0 

002A00 

002A20 

002440 

002A60 

002480 

002AA0 

002AC0 

002AE0 

LINES 0C2BO0- 

002BA0 

002BCC 

0023E0 

002C00 

002C20 

002C40 

002C60 

002C80 

002CA0 

002CC0 

002CE0 

002D00 

002020 

002040 

002060 

002080 

002DA0 

OO20CO 

0O2OE0 

002EOO 

002F20 

002E40 

002F60 

002E80 

OO2EA0 

002PC0 

002EE0 

002F00 

002F20 

002F4C 

002F60 

002F80 

002FA0 

002FC0 

002FE0 

003000 

003020 

003040 

003060 



600O0A00 

40FF063F 

C9C5E6E2 

00000000 

00090258 

01000000 

0000297C 

F1F9C3C6 

31002A7F 

0601F080 

7F002A58 

OFOOOIOR 

OOOiFOAO 

06000400 

00000000 

002R80 SA 

00000000 

00002^88 

53410004 

584AO008 

91O2A0OC 

2003<UOA 

02K0742 

4710^136 

47F0F00A 

0A03189F 

9610002C 

91L0AC08 

00F058F8 

9601A008 

A0084100 

45500060 

4710C036 

4550C346 

45500060 

91028000 

C13E1832 

01701823 

5 A 8 80004 

4550C162 

18150A0A 

CU45884 

07030148 

01481B44 

585001 64 

48700144 

01441277 

014C4120 

C3B6F364 

5A70013C 

5090014C 

01 4A 8960 

12884720 

47FOC28C 

014A47F0 



00002214 
40FF6B3F 
E9D6E509 

01000000 
00O0800O 
00000000 
OOOIFOBO 
00000000 
60000005 
00000000 
00002448 

oooooooo 
oooooooo 

40000080 
OOOOOOOO 
MF AS ABOVE 
OOOOOOOO 
00000180 
4371*002 
4B40F148 
4780' : OF2 
70134710 
00B62FB0 
9110A008 
58D40014 
58F80044 
47F0F0CC 
4710F12C 
002C07FF 
9604A008 
070907FF 
02150177 
5844001C 
45500060 
92F00170 
4710CU2 
58220000 
583A0000 
18931898 
1B884550 
410001F0 
0004539A 
01481858 
5D4 0C3AF 
07F5 887 
06704070 
4 72 0C28C 
014C9240 
017C2000 
5070013C 
4120014C 
00055A6O 
C2RC4540 
4870014A 
C2F44550 



000031F8 
75BF767F 
00008000 

oooooooo 

000029B0 
0F00297C 
000029FC 
00000015 
080O2A20 
9P002A87 

oooooooo 

0F000108 
80O032F0 
00030080 

oooooooo 
oooooooo 

0O01F3A0 
58800010 
9 140 4000 
58280070 
F072910C 
957FA004 
4710F136 
9620002C 
05CF1A0A 
580A0014 
0A0F0A03 
0008000A 
410000FD 
0008O001 
C3C9455D 
4144O020 
02070176 
9108B000 
58330000 
47P0C0A4 
19234780 
47F0C0C8 
01189857 
181D0A04 
00081B98 
5450C3P2 
40400146 
00021897 
01444870 
47F0CIA4 
01710276 
OC05017C 
07F40204 
F3640184 
013C5850 
C1FA47F0 
12774780 
C30A455D 



0001F3A0 
7CFF2C7P 
00002974 
0^002940 
12000000 
04003550 
FF000001 
08000000 
OOOOOOOO 
400O0008 
40002A?O 
00008000 
00000001 

oooooooo 
oooooooo 

oooooooo 

00OQ29E0 
9624AOO0 
4780F038 
18004307 
A0024750 
4770F13F 
9610A008 
124447C0 
1RO8170F. 
943FD02C 
410000FF 
9610AOOO 
58F8002C 
00040000 
00605843 
02060176 
C3F64190 
4710C08E 
12334780 
588A0004 
C0FA5923 
18825A88 
01581255 
18F80A03 
4S50C162 
195 84780 
40500144 
4550C3OF 
01481277 
5880013C 
"1720171 
C2A8D20O 
0177C3R6 
20000COS 
013C5R60 
C1A44870 
C2F44540 
00604880 



0001EE98 
0700C350 
12000000 
04003550 
OOOOOOOO 
CP00132C 
FF01F080 
0OOOCB78 
0800?A40 
06000000 
000O297C 
OOOOOOOO 
4000?84C 
OOOOOOOO 
OOOOOOOO 

OOOOOOOO 
00002448 
91C04000 
504^0^18 

00094C00 
M36189F 
94«=F4000 
0A0F0A03 
P0844144 
192C2F16 
94OAAO00 
58E8002C 
950080*0 
07FF0008 
05C09240 
00004133 
C30F4199 
00084180 
588B00O4 
CI 505 82 3 
1983472^ 
00004780 
00045984 
4780C132 
1B88589A 
47F0CU2 
C1881R78 
12554770 
45500060 
4780C1FC 
4R90014A 
4870014A 
0182C3BB 
F3640170 
D184C2A8 
C3AE051F 
014A4177 
C1FA4880 
01440680 



000002O0 
00*10024 
OOOOOOOO 
C000132C 

oooooooo 
oooooooo 

OOOIFOBO 

oooooooo 

60000005 
20000100 
OOOOOOOO 

oooooooo 

00OO31F8 
OOOOOOOO 

oooooooo 
oooooooo 

800025F8 
4710F13A 
96014000 
F14A1429 
58F80044 
927FA004 
957FA004 
0008504A 
940FAOOO 
9200A008 
07PE9601 
4770F15C 
00010006 
01701832 
00185833 
00084180 
00004160 
58980003 
00001222 
C0001893 
C0EC5833 
00O847A0 
18754100 
00084550 
50500164 
18754070 
CIC64870 
47F0CIAF 
IBR840R0 
06908990 
06701277 
45500060 
2000OC05 
O200O18A 
50006000 
00014070 
01441288 
40800144 



00002930 
80000000 
OOOOOOOO 
00000017 
OOOOOOOO 
00000016 

oooooooo 

00060000 
9E002A87 
7F000000 
OOOOOOOO 
OOOOOOOO 
PFOOOOOO 

oooooooo 

000*0000 

oooooooo 

7F000000 
9H0A010 
9101A000 
06002003 
05CF068C 
47F0F13F 
4770P11C 
0018927F 
0A0F0A03 
47FOF120 
A0089604 
9237A018 
00009244 
58B0013C 
00001843 
00004160 
01841876 
4550C162 
4780C0BA 
IR984550 
000047F0 
C112589A 
00008900 
C1624180 
5080013C 
01485850 
01461277 
4550C30A 
014847PO 

00055A90 
4770C258 
487D014A 
0170C2AR 
C3BB47F0 
4770C202 
01440630 
4780CIA4 
47F0CIEC 



'AGE 0009 
208045FF 
47707456 
OOOOOOOO 
00000052 

oooooooo 

00090064 
C9C7C7F0 
OOF00018 
A0000008 
02000000 
OOOOOOOO 
000029FC 
00040000 
OOOOOOOO 
OOOOOOOO 

0001F498 
OOOIFOAO 
4710F038 
4710F136 
A0029470 
03BAO10A 
9108A00C 
94FEA000 
A0040A0F 
580A0014 
940FA000 
A0084100 
0A0F0A03 
A0049608 
9239005C 
9102B00O 
01841876 
4550C346 
92F00170 
19234720 
C16292F0 
C00C1882 
00031B98 
00181607 
001047F0 
50900140 
01404A50 
4770C1B4 
45500060 
C2024870 
013C5080 
02030177 
89700005 
92600183 
C2424860 
48800144 
40800144 
1B884080 
41900008 



-o 

Q 



Oi 
I 



o 



003080 

0030A0 

0030C0 

0030E0 

003100 

003120 

003140 

003160 

003180 

0031AO 

LINE 0031C0 

0031E0 

003200 

003220 

003240 

003260 

003280 

0032A0 

0032C0 

0032E0 

003300 

003320 

003340 

003160 

003380 

003VA0 

0033C0 

0033EO 

003400 

003420 

003440 

003460 

003480 

0034A0 

0034CO 

0034E0 

003500 

003520 

003540 

003560 

003580 

0035A0 

0035C0 

0035EO 

003600 

003620 

003640 

003660 

003680 

0036AO 

0036C0 

0036EO 

003700 

003720 

003 740 



5860013C 
C2A8D205 
581A0008 
41440004 
C35C0008 
00000020 
CIE340C5 
20105000 
00000000 
00000000 



4B600148 
0177014C 
5R10C3AA 
41880001 
16213B46 
FFFFFFEO 
05E309F8 
997A1B00 
83000180 
OOOOOOOO 



SAME AS ABOVE 
OOOOOOOO OOOOOOOO 



41000001 
5021001C 
30005030 
929F3028 
58008004 
47804004 
1B114319 
9801 900C 
50703020 
91019016 
92063030 
41539140 
0A019120 
91023098 
302492FF 
92063020 
41100010 
91013098 
50803010 
02003^50 
18725880 
30A81801 
1BAA50A0 
91021000 
47804214 
91209016 
433C5819 
00003592 
30200205 
08060000 
C03A4130 
800092F1 
OOOOIOFO 
OOOOOOOO 
0F00362C 
OOOOOOOO 
47A0C058 
181B0203 
0A0341E0 
00045832 
1E2DH40 
986BO000 
00001800 



47F04010 
9204101C 
30080204 
02073018 
12004780 
98019010 
00158910 
80000010 
47F0410A 
47804128 
020?3035 
30384710 
3038071C 
4710429? 
30985310 
02023025 
4A10309E 
471041A& 
92083010 
3064939F 
00105383 
4A00309P 
3070940F 
478042F2 
9101ROOO 
4780432E 
001C1A71 
1BCC43C7 
7031C004 
00200001 
003492FI 
OOOOOOOO 
1000132C 
OOOOOOOO 
OOOOIOFO 
OOOOOOOO 
13110203 
B000D174 
C04A1802 
002812BB 
1A801AA0 
417C0004 
43000166 



50600154 
48 8001 48 
194147A0 
18674690 
515CF0F1 
03C905C5 
40F30640 
000095A0 
OOOOOOOO 
OOOOOOOO 

OOOOOOOO 
18090540 
41103038 
30044388 
30281810 
43104308 
80000010 
^0024010 
4309000B 
58190020 
92003024 
439A41C0 
41761810 
41F0000F 
91013098 
30A04117 
30A59203 
4A10309C 
91043098 
07FC909F 
3O7C07FC 
00181B99 
411 10004 
10G043AI 
13C747F0 
471042A0 
02077000 
50750014 
003041CC 
47FE0008 
OOOOOOOO 
80004030 
OOOOOOOO 
OO000001 
OOOOOOOO 
0000132C 
05C08000 
0168C234 
180158F0 
05F01B22 
4720F02A 
93080108 
4A0CO000 
5810B02C 



41600184 
88800002 
C382F384 
C3465040 
F2F3F4F5 
F240F2C1 
CIC2C505 
F0F1F97F 
OOOOOOOO 
OOOOOOOO 

OOOOOOOO 
9603303C 
50103040 
020F3028 
46104070 
00071857 
4309000B 
303645C0 
45C0423E 
8*100008 
92FF3098 
41820206 
4610416C 
07FF91FF 
471041AA 
10001821 
301047F0 
1912078C 
47104310 
30 7C5815 
00003920 
05A84780 
91F01O0O 
000088A0 
42E41AC7 
47F0429C 
50009110 
O7FE0000 
000142C7 
02002020 
OOOOOOOO 
21140277 
OOOOOOOO 
OOOOOOOO 
OOOOOOOO 
00000067 
C1F31820 
0207D16C 
B05445EF 
50200164 
58B0F1F? 
1B004120 
4730F1C4 
4120015C 



18765840 
IB981288 
014C4000 
013C07F5 
F6F7F8F9 
04C540CI 
C409C5C7 
0001FE40 
OOOOOOOO 
OOOOOOOO 

OOOOOOOO 
5030304C 
07013058 
4380r»203 
58750010 
45C0423F 
45C0423F 
423045C0 
41B03020 
1A175010 
47F0413E 
30503065 
91FFS00C 
30984710 
41F0O00O 
45C04264 
413E4810 
41110000 
41B03028 
00005811 
18A046A0 
428C^1P0 
477042FC 
00024180 
5OC03070 
02008000 
90164780 
00003564 
00300500 
703007FF 
C14E92F0 
80028001 
OOOOOOOO 
00090078 
OOOOOOOO 
00050067 
18314100 
20004100 
00041BFF 
12B14720 
92010167 
01384150 
182C9200 
183090BF 



013CF363 
4780C34F 
0C07014C 
O203014C 
C1C2C3C4 
F240CIC? 
40F060F7 
00004COO 
OOOOOOOO 
OOOOOOOO 

OOOOOOOO 
50703050 
30584110 
30143004 
41770000 
45C04230 
41180008 
41425078 
45C04234 
30209206 
92403024 
920O3038 
47104156 
431045C0 
07FF9104 
4A2030A6 
304A12U 
50103034 
45C04234 
002C4120 
427091FF 
000E07FE 
58210000 
30731BBA 
4AA0430A 
20000200 
432E9640 
00003592 
30107030 
60000005 
80004830 
00050500 
01000000 
00O50400 
OOOOOOOO 
00090005 
01784510 
016845E0 
182F4100 
F02A920? 
18C0906B 
01081888 
200E4A2C 
000041FO 



014C0155 
IB224328 

C2A80207 
40004140 
C5C65040 
06E5C509 
09C5C740 
00020000 
OOOOOOOO 
OOOOOOOO 

05401851 
5817002C 
305F5010 
41103067 
47F04090 
47F 04128 
50103030 
00000200 
91409017 
30200201 
41103098 
4110303C 
41103033 
41F60203 
30984780 
45C04264 
078C4120 
45C04230 
47F0413F 
306458F0 
9010078C 
987A307C 
41272000 
44A04304 
18B141U 
2O0OBO00 
70009120 
00003592 
07CE89C0 
089F0000 
21144B30 
C83245B0 
OOOOOOOO 
00030077 
OOOOOOOO 
00003628 
COIOOAOA 
C05E12FF 
01781810 
01675820 
0000980^3 
90080138 
00024600 
F2620 5EF 



•AGE 0010 
OC05D14C 
C3901A62 
6000D14C 
014C47F0 
00000004 
C5C7F240 
F860F1F5 
OOOOOOOO 
OOOOOOOO 
OOOOOOOO 

98795000 
41204344 
30009231 
50103028 
58780000 
91209016 
92063030 
80 07900B 
478O40FC 
30269018 
50103030 
0A0080FF 
41000001 
30344399 
418A9200 
50103020 
01001821 
47F0413E 
41B03030 
426005EF 
907A307C 
07FC4110 
45C04264 
58C03070 
00041910 
18FF060E 
90174710 
0000358C 
000441CC 
OOAOOOOO 
C19F4720 
000035E4 
0F003580 
OFOOOOOO 
OOOOOOOO 
OOOOOOOO 
18011213 
4720E01A 
0A0A18F2 
F10E5822 
FIE61E00 
9202013C 
F068488C 
98BF3000 





003^ir 


1897L8A8 


50BOD150 


5A90F1FF 


S090O12C 




003780 


47102HC4 


41100138 


41000001 


OA019160 




003 7A0 


06304A30 


00004110 


00024100 


001^050 7 




003 7C0 


14204L22 


200C8712 


F0F4H204 


016F0100 


TJ 

Q 


0037F0 


485COQ02 


4R50F10R 


4 740P132 


8744F128 


-t- 


003800 


42490008 


46A0F17A 


18AF48F0 


016412FF 


— 


3 8 2 


9S02D167 


076 p 4l40 


00TF9201 


O167S8B0 




003840 


47FQF07R 


4A9C.0002 


95 00900A 


478OF0E4 




003 860 


10004740 


Fl AE0203 


01 74100R 


58000174 




003880 


41790000 


188A9204 


016647F0 


F1324180 




0038AO 


000C000F 


0000026A 


000004RO 


00002940 




0038C0 


92000100 


40000003 


69000000 


40OO0008 




0038E0 


IB0O18DI 


1BCC43C2 


0O0012CC 


47ROF01C 




003900 


IBAA43A2 


000443A0 


00264CA8 


C°021BR« 




003^20 


43020007 


R9000OO8 


1RFF07FF 


!Rq94^go 




003940 


89C000 r >4 


1AC0430C 


101F1RAO 


ROO00004 




003960 


002E4740 


F0484100 


001 046 AO 


F03741F0 




003980 


02062001 


H024078F 


41 AOOOOl 


58B00020 




0039AO 


43RBC000 


06AA4 89B 


00021300 


4 *R 0002 8 




0039C0 


00004C60 


ooooooo^ 


0^ROl2?0 


07RES610 




0039E0 


181FH2F 


067080FF 


70011883 


1 86648C1 




003A00 


00001899 


43910008 


IBAA41F0 


704A0A06 




003A20 


0O5TOA' n, 3 


8910000C 


SA107026 


OAOOOOOO 




003A4^ 


E906E509 


OHOOOOOO 


OS AO 32 00 


AOOF41F0 




003A60 


00003A6R 


00000000 


C9C6C7E3 


F30906E3 




003*80 


902047F0 


90180207 


90SE0038 


^90901C 


> 


003AA0 


004«O207 


905C0040 


58A004B4 


9^00A0lO 


Oi 


003AC0 


903A94F0 


904F58A0 


904C020F 


A0009064 


1 


003AE0 


00004780 


FF060 r »0F 


0001^^60 


0001F43R 


^J 


003 BOO 


FF041003 


400016E6 


0001 FS50 


f>001F634 




003B20 


FFQ61T0A 


7000S0F4 


000^01F4 


0001F5E0 




003B40 


0004100A 


600H72CF 


oonnoi43 


0000500" 




003860 


oooooooe 


0001FC70 


C000MR8 


ocooooo^ 




003 B 80 


FFQ51000 


4001F80«= 


0001FC18 


°001FC18 




003BA0 


FP06000C 


0001F80E 


0001FC40 


08000000 




003BC0 


0004100A 


S0002164 


FF000060 


FFFFFFOO 




003BE0 


FF041000 


6^003778 


00000000 


0001F4A4 




003C00 


FF0410OI 


4000378F 


oooooooi 


0001F4A0 




003C 20 


FF06019? 


OO00378E 


00000000 


04000000 




003C40 


FF06000C 


000037RE 


oooooooo 


04^00^00 




003C60 


FF04100A 


40002784 


00000142 


30000000 




003C80 


00000192 


ooooioco 


0001F4AO 


oooooooo 




0O3CA0 


FF060192 


00 03 3 82 


^0000000 


04000000 




003CC0 


FF060192 


00003382 


0001F3A0 


TC0000F4 




003CEO 


DOOM 003 


4000?53A 


FFFFPFFF 


00^04F5R 




00 3000 


FF06100A 


70005042 


000001F4 


80005040 




030 2 


0004100A 


S000?164 


FFQ00080 


FFFFFFCO 




003040 


0004100A 


700022C.F 


00000080 


0001F4A8 




003060 


0004100A 


50007164 


FP000060 


FFFFFFOO 




003080 


0004100A 


700022CF 


00000060 


0O01FO48 




0030AO 


°»0041 r tOA 


50C02164 


FF000060 


FFFFFFOO 




0030C0 


0004100A 


700022CF 


00000060 


0001^048 




C030E0 


FF05100A 


6^01F5CA 


000 n 0048 


0001FD6O 




003E00 


FF05100F 


69006OE6 


0301F550 


oooooooo 




003E20 


FF04100^ 


400016E6 


0001F560 


0OO1F634 



1R2F4110 
D1384780 
10009000 
47F0F0A2 
18454440 
078E6820 
AIE24144 
47F0F13A 
4B00F214 
0°011817 
3100016F 
08000118 
4A00002E 
43B20006 
101018A9 
IA018800 
000407FF 
43BB0OI 3 
IDA942A2 
RO0F47R0 
000288C0 
05701831 
00003A^C 
A">160A06 
02079074 
50609054 
077B^8A0 
50A0P048 
08000000 
0004100A 
FF051003 
FF051 000 
FF05000E 

oooooooc 

FF051006 
00041004 
00000192 
FF06000E 
00000192 
FF060192 
FF041000 
FF041001 
00000192 
0004100A 
0004100A 
FF05100F 
FF0410O3 
FF051008 
00041003 
FF051 006 
00041003 
FF05100A 
FF0510O3 
0004100A 
0004100A 



013C0A00 
20C441F0 
4780F10A 

02029008 
FICF0200 
B02C0500 
00014240 
95FF10O0 
47A0F07A 
4 7F OF I PC 
40000005 
OOOOOOOO 
41000010 
IAAB4BA0 
410000FF 

00084202 
13FF189A 
41C0000F 
00064ABO 
B01A0A03 
0OO289CO 
121F4770 
OOOOOOOO 
0AO34720 
90209610 
42A09054 
904841AA 
07FB43R7 
8*A00002 
700022CF 
7000240A 
4001F98A 
0001F98A 
0001FC38 
70004E52 
4000268C 
000010C0 
0000378F 
000010C8 
0000378E 
4000335E 
40003382 
0OOO10C8 
400028CA 
700022CF 
700050A2 
400016F6 
49005086 
4000253A 
690050A6 
4000253A 
6901F582 
690024OA 
50002164 
700022CE 



58F0210A 
0008074E 
4720F13A 
10084341 
900C0167 
20040166 
01669200 
4 740F1AE 
95040166 
02009000 
08000108 
06000000 
46COF010 
00281AOA 
14004780 
00078800 
4A00002F 
14BC05C0 
002642B2 
OOFFFFFF 
0OO241CC 
70129801 
80000000 
FF040000 
90769001 
94309054 
001055AO 
00004190 
48RO0008 
00000080 
FFFFFFFF 
0001FC48 
0001FC78 
0001FC78 
FFFFFFFF 
FFFFFFFF 
O0OIFC40 

oooooooo 
oooooooo 

0001F4AO 
0000003C 

oooooooi 
oooooooo 

00000200 
00000060 
000001F4 
000001F4 
0000507A 
0O01F550 
0001F550 
0001F550 
00000048 
00OIF560 
FF000080 
00000080 



M 



uu 1 1 
F0F001 

18«=21R3D 
4321000B 
0O0B1440 
43400166 
4720A168 
016518FA 
05061001 
4780F132 
10080001 

oooooooo 

00000100 
45A0F0AC 
89000008 
F02418C9 
0OO84B00 
42^20000 
58C0C0?* 
000407FF 
0O3492FI 
100858CC 
602058F6 
C9C5E6F2 
00003A4F 
907C4190 
02039058 
90504740 
00003B00 
16A840A0 
0001F4A8 
90004F60 
0001FC48 
08000000 
08000000 
00004F58 
00002934 
08000000 
040C0000 
04000000 

or. oooooo 

0001F3A4 

0001F3A0 
04000000 
0001F328 
0001F048 
0001F634 
OOOOOOOO 
OOOOOOOO 
OOOOOOOO 
0001F628 
0001F628 
A901F580 
0001F630 
FFFFFFCO 
0001F4A8 





003 F 4 


FF05100A 


700050F4 


000001F4 


0001F5E0 




03E60 


000M004 


5O0022CF 


00000143 


00005008 




03 E 30 


OOOOOOOE 


0001FC70 


00OIF3AO 


0CO000E4 




003EAO 


FF051000 


4001F80E 


OOOIFCIA 


0001FC18 


Q 


003FC0 


FF05000C 


0001P80F 


0001FC40 


08000000 


- i 


003EE0 


0004100A 


50002164 


FF000060 


FFFFFFOO 


— 


003F00 


FF 04 1000 


60003778 


oooooooo 


0001F4A4 




003F20 


FP04100 1 


40003 73E 


oooooooi 


OO01F4A0 




003F4C 


FF060192 


00003 73E 


oooooooo 


040O0000 




003^60 


FF06019? 


0O00378F 


0001F4AO 


OC 000000 




003FRO 


FF04100A 


40002784 


00000142 


800O0000 




003FAC 


0000019 2 


OOOOIOC^ 


oooooooo 


04000000 




03FCO 


FF060192 


00003332 


oooooooo 


04O00000 




003FEO 


FF06019? 


0000^332 


H0O1F3AO 


0C0000E4 




004000 


00041003 


4O00253A 


FFFF^FFF 


00O04F58 




004020 


FF05100A 


70005042 


0O0001F4 


H0005040 




004040 


00041 OOA 


50002164 


FP000080 


FFFPFFCO 




04 06 


0004100A 


7O0022CE 


0000003^ 


0001F4AP 




0040 30 


0004100A 


50002164 


FF000060 


FFFF«=F0O 




00404O 


0004100A 


700022CF 


00000060 


0001F048 




0040C0 


00041004 


50002164 


FCO00060 


FFFFFFOO 




0040E0 


00041 OOA 


7O0022CE 


00000060 


0001FD48 




004100 


FF051000 


4Q01F5RE 


00000043 


800001BC 




004120 


00041004 


40 n 0268C 


PFOC0060 


OOO02934 




004140 


00000190 


OOOOIOCO 


O001F3A0 


0C0000F4 




004160 


FF060190 


O0003382 


oooooooo 


04000000 


> 


0041 80 


FC060190 


00003382 


0001F390 


OCOOOOOO 


Ol 


C041A0 


FF041000 


70C0335F 


00000015 


00002A5C 


J^ 


0041C0 


00000190 


0^001008 


000010C3 


oooooooo 


00 


0041E0 


00041003 


6000253A 


0O01F7F0 


0000297C 




004200 


FF041007 


60002FFA 


0O00 3124 


80002F74 




004220 


00041004 


7000268C 


00^03124 


00002934 




004240 


000001 9^ 


ooooioco 


00002A48 


OCOOOOOO 




004260 


FF060190 


00003332 


OOOOOOOO 


04000000 




0042 30 


F^ 060 190 


00003332 


0O01F640 


oooooooo 




0042A0 


00041003 


4000253A 


00001124 


80O02F74 




0042C0 


PF04100 n 


50O02FHF 


00003124 


00005120 




0042E0 


FF04l^0i 


50002FE8 


OOOOOOOI 


00005UC 




0043 00 


00000190 


00001 OC 3 


oooooooo 


04000000 




004 32 


FF04100A 


4000306C 


000001F8 


00005003 




004340 


00000190 


OOOOIOCO 


00005190 


OCOOOOOO 




0043 60 


FF041001 


50002FF3 


OOOOOOOI 


00005304 




004380 


PF04100A 


4000306C 


000001F8 


ooor»5iFo 




0043A0 


FF041003 


40007DAA 


00000038 


00005308 




0043C0 


FF 051 000 


SO01F8D2 


PFFF^FFF 


00'UFC48 




0043 F0 


FF051001 


4001F8F0 


OOOOOOOI 


0001FC44 




004400 


oooooooc 


0001FC38 


00005378 


O800O000 




004420 


FF051006 


70004F5? 


FFFFFPFF 


00004F58 




00444 


00041004 


4000268C 


FPFFFFFF 


00002934 




004460 


00000192 


OOOOIOCO 


0001FC40 


OCOOOOOO 




004480 


FF060192 


^0003 7«F 


oooooooo 


040O0000 




0044AO 


FF060192 


0000378F 


O001F75O 


OCOOOOOO 




0044C0 


FF04000C 


000^32^0 


oooooooo 


04000000 




0044FO 


00000192 


OOOOIOCO 


oooooooo 


04000000 




004500 


FF060192 


0000338? 


oooooooo 


C4000000 



FF0510O3 
FF051000 
FF05000E 
OOOOOOOC 
FF051006 
00041004 
00000192 
FF06000E 
00000192 
FF04000C 
FF041000 
FF041001 
00^00192 
00041OOA 
00041 OOA 
FF05100F 
FF041003 
FF051O08 
0004100 3 
FF051006 
00041O03 
FF05100A 
0004100A 
00041000 
FF041001 
00000190 
0004100A 
00000190 
FF040190 
0004100A 
0004100A 
00041000 
FF041001 
00000190 
0004100A 
0004100A 
00000190 
FF060190 
FF060190 
FF041000 
00000190 
FF060] 90 
FF04100A 
00041O0A 
1000000F 
FF051000 
FF05000C 
0004100A 
FF041000 
FF041001 
00000192 
FF04100A 
FF041000 
FF041001 
000001^2 



7000240A 
5001F9AA 
1001F93A 
0001FC33 
70004F52 
4000268C 
OOOOIOCO 
O000378E 
0O0010C8 
00003 7DA 
4000335F 
40003332 
0OO010C8 
4^0023CA 
700022CF 
70OO5062 
400016F6 
49005036 
4000253A 
690050A6 
400O253A 
6901F582 
50002164 
700 n 335F 
40001332 
00O010C3 
400028CA 
OOOOIOCO 
30003374 
700022CE 
50002164 
7000335E 
40003382 
000010C8 
400028CA 
700022CE 
OOOOIOCO 
10002FF8 
10002FF3 
50002FOE 
O0O010C3 
10002FF3 
400020A6 
700022CE 
0001FC68 
4001F80E 
0001F80E 
50002164 
60003778 
4000378E 
00C010C8 
40002784 
4000335F 
4000338? 
00O010C3 



FFFPFFFF 
O0OIFC48 

0001FC78 
0001FC78 
FFFFFFFF 
CFFTFFFF 
0O01FC.40 

oooooooo 
oooooooo 

00000000 
0000003C 
OOOOOOOI 

oooooooo 

O0000200 
OQ000060 
ooonoiF4 
000001F4 
00O0507A 
0001F550 
0OOIF55O 
00O1C55O 
00O00048 
FF000060 
00000020 

oooooooi 
oooooooo 

00000200 
00002A48 
00002A48 
00000060 
FF000060 
00000024 
OOOOOOOI 

oooooooo 

00000200 
00000060 
0001F640 
OOOOOOOO 
00005190 
000001E8 
000010C8 
00005378 
0000003* 
00000090 
00005378 
0O01FC18 
O001FC40 
FF000060 

oooooooo 
oooooooi 
oooooooo 

00000142 
0000003C 
OOOOOOOI 
OOOOOOOO 



'AGE 0012 
00004F60 
0001FC48 
08000000 
08000000 
00004F58 
00002934 
08000000 
04000000 
04000000 
04000000 
0001F3A4 
0001F3A0 
04000000 
0001F328 
0001F048 
0001F634 
OOOOOOOO 
OOOOOOOO 
OOOOOOOO 
0001F628 
O001F628 
A901F580 
FFFFFFOO 
0001F3A4 
00O1F3A0 
04000000 
0001F328 
OCOOOOOO 
OCOOOOOO 
0001FBB0 
FFFFFFOO 
0001F654 
0001F650 
04000000 
0001F5D8 
0001F8B0 
OCOOOOOO 
04000000 
OCOOOOOO 
00005308 
OCOOOOOO 
OCOOOOOO 
00005308 
0001F038 
08000000 
0001FC18 
03000000 
FFFFFFOO 
0001FT54 
0001F750 
04000000 
80000000 
0001F654 
0001F650 
04000000 



PA 



Q 



I 



nO 



004520 
00454C 
004560 
004580 
0045A0 
004 SCO 
0045F0 
004600 
004620 
004640 
004660 
004680 
046AO 
004 6C0 
0046E0 
004700 
004720 
004740 
004760 
004780 
0047A0 
004 7C0 
0047E0 
004800 
004820 
004840 
004 860 
004880 
0048A0 
0048C0 
0043F0 
004900 
004920 
004940 
004960 
004980 
0049AO 
0049C n 
0049E0 
004A00 
004A20 
004A4 
004A60 
004A80 
O04A^0 
0H4AC0 
004AEC 
004900 
004B20 
004340 
004360 
004980 
004BA0 
0048C0 
004BE0 



FF060192 
004100 3 
FFOSIO^A 
0004100A 
0004100A 
0004100A 
FF04000F 
00000192 
FF060192 
FFQ601 9? 
FF041000 
FF041001 
00 30019? 
000 A 100 A 
00041 00A 
00 r »410 n A 
00041 00A 
FF0S10OA 
FF05100F 
00000000 
91087008 
4710F332 
200107FF 
39Ar>000? 
139F58O0 
092C0A96 
96012008 
705A2002 
4500F344 
91502OIF 
47070034 
96042001 
F3S?4AA0 
50020018 
4 7FF000C 
96202008 
41970054 
20089102 
30084710 
F1649U0 
940F2000 
F3l?943F 
R00047CO 
20099213 
4397000°) 
5530F360 
70409205 
58909OAC 
C9CSCIF0 
FOFOF040 
40060540 
40404040 
63108050 
00000000 
02000000 



00003382 
4000253A 
70005042 
S0002164 
700022CE 
50002164 
000026F6 

ooooioco 

000O378E 
0000378F 
7000335F 
40003382 
000010C8 
400028CA 
7000?2CE 
50002164 
7O0022CF 
6901F5CA 
690050F6 
00000000 
471 OF 05? 
94FF2001 
S8000010 
43A70013 
0010S8FD 
00B82F1 A 
9(S 042003 
47F0F1FC 
9101A0OO 
4710F000 
92007036 
918OA000 
F3680?07 
96012000 
910A201F 
96402008 
50B70044 
704C4 7C0 
F2C6910A 
20014780 
94FF2001 
402C940A 
F 16443*3 
703C9220 
4C90F36A 
477E0008 
704307FO 
91409000 
FOFOC 140 
40404040 
F0F0C340 
40404040 
8100E2F3 
00004C48 
7F004C14 



0001F650 
FFFFFFFF 
000001F4 
FF000080 
00000060 
FF000O60 

oooooooo 

00000000 

oooooooo 

000052C8 
00O0O03C 
03000001 

oooooooo 

0O000200 
00000060 
PF000060 
00000060 
00000048 

oooi^sso 

94FF2000 
91407008 
0501 7040 
58000070 
RAA0O0O2 
004405CF 
91807002 
47F0F23A 
91102008 
4780F123 
4^02001F 
96047001 
4710F24A 
7044A000 
91082008 
4710F003 
96102001 
92167044 
F?4A9?08 
703647C0 
F78A924F 
47F0F2C2 
200047FF 
000942R7 
70409201 
IA0B917F 
47F0F298 
00003628 
071F1BAA 
40C9D5E3 
40404040 
40404040 
404O4040 
C109E340 
000OO26A 
00004C03 



0C0000F4 
00004F58 
R0005040 
FFFFFFCO 
0001^048 
FFFFFFOO 
04000000 
04000000 
04000000 

ocoooooo 

00005 ICC 
000051C8 
040OQ000 
0OO0S150 
0001F048 
FFFFFFOO 
0001FQ48 
0001F060 

oooooooo 

96242000 
4730F2A4 
70334770 
19B94397 
3FA00^02 
032C0C46 
4710F0OC 
9680?008 
4710F0O0 
963O701F 
41000010 
4500F352 
9507AO00 
91F7A000 
4710F1CE 
4302001F 
96017006 
92207048 
200147F0 
F1649200 
200447FO 
9101200C 
00041BBB 
OO3647F0 
7043961O 

D0084780 
58^20008 
00000720 
1BCC58F0 
4009C508 
40404015 
404O4040 
40404040 
40404040 

oooooooo 

08000000 



0004100A 
0004100A 
FF05100F 
FF041003 
FF051008 
00041004 
FF041000 
FF041001 
0000019? 
FP04100A 
0000019? 
FF06019? 
FP060192 
00041003 
FF0S100<S 
00O41003 
FF05100A 
FFO51003 
0004100A 
910270OC 
02062009 
F0C89120 
00094C80 
48B000O8 
07130136 
91 A0201F 
47F0F28A 
9610200R 
43n200lF 
4202001F 
450CF344 
4780F298 
4780F194 
91102001 
41000001 
41R7004C 
92047048 
F1644307 
70364307 
F2985800 
4710F28A 
43B20020 
F26A4302 
20019601 
F2BA9101 
41SAOO00 
0003000A 
F01C07FF 
404040FO 
C9C5C6F2 
40404040 
40404O40 
40404040 
0000026A 
40004C00* 



400028CA 
700O22CF 
7000S067 
400016E6 
49005036 
6000268C 
600H3773 

4000378E 

ooooioc* 

50002734 
OOOOIOCO 
0000333? 
ooo033«? 
6000253A 
/S900SOA6 
400^2S3A 
69CIF58? 
6^00740* 
50^07164 
4710F05C 
70SC0701 
20094730 
C36A1A0B 
16AB40A0 
02540462 
47C0F2FA 
47F0F10C 
47F0F1C0 
410OO001 
47F0^1CO 
S0A70044 
53DA0O00 
50A70044 
078F9601 
4202001F 
5087003C 
47F0F184 
003641O0 
00344100 
00100502 
53000010 
89BOO0O4 
001F4100 
700647F0 
20084710 
49A0F369 
OOOOOOOO 
00002472 
F0C540F0 
F3F7C940 
40404040 
404O4040 
40400000 
00000180 
00004BFO 



00^00200 
000O0O60 
00O001F4 
000001F4 
0000507A 
00005Q7A 
OOOOOOOO 

oooooooi 
oooooooo 

80O000B4 
000 05 2C3 
OOOOOOOO 
OOOn^iptq 
OO01FS50 
00 n lF5S0 
00O1F55O 
00000043 
00OIF55O 
PF000080 
9171200O 
2002705A 
F2309497 
48A70016 
000894BA 
05880F3A 
91102001 
0206705C 
910A201F 
4202001F 
43070034 
47F0FIB0 
020570*1 
92087044 
20005800 
910220^3 
4500F35? 
02037033 
00014207 
00014207 
00552015 
05020055 
41BB3020 
00104202 
F1B4580Q 
F0F0O203 
07F0921A 
58B00010 
00360000 
F040F0F2 
09C5CIC4 
40404040 
40404040 
00005370 
00000180 

oooooooo 



Gfc 0013 
0001F508 
00OIFO68 
0001F634 
OOOOOOOO 
OOOOOOOO 
00002934 
0O0052CC 
000052C8 
04000000 
80000000 

ocoooooo 

04000000 

ocoooooo 
oooooooo 

0001F628 
0001F628 
A901F580 
0001F630 
FFFFFFCO 
4750F27A 
91042008 
200894FF 
8EA00002 
D00918A2 
0028063A 
4710F282 
20090201 
4710F000 
47F0FIC0 
41000001 
4500F344 
00004500 
41D7003C 
F36405C0 
4710P0C8 
94EF7040 
705494BF 
00369104 
003447F0 
4760F32A 
20154760 
05007036 
001F9608 
00701B8B 
20187040 
703C9270 
58B0803C 
00320000 
F0^040F4 
C5D94040 
40404040 
4040E0F.0 
40000000 
80004090 
OOOOOOOO 





004COO 


09004B20 


2000002F 


OOOOOOOO 


0CO04C18 




004C20 


12000000 


oooooooo 


OOOOOOOO 


oooooooo 




004C40 


01070340 


404 04040 


OOOOOOOI 


FF6058D2 




004C6C 


02080000 


00001820 


OOCBOOOA 


0E295U4 


Q 


O04C80 


1RDD43DC 


00009110 


C0004710 


F03C4RRA 


004C.A0 


140R4780 


F0041BDD 


430C0001 


1 RF91R99 


— 


004CCO 


OOOOOOOF 


OOOOOOOO 


oooooooo 


OOOOOOOO 




04CCO 












04CF0 


FF0^0006 


70004E5? 


0001FF6 


00000180 




004000 


41000048 


4510C00R 


0A0A5OO1 


T->n45010 




004020 


C02AE7D9 


C 1E84040 


404041 10 


C3000A2O 




004040 


OOOOOOOI 


02 00001 


90000000 


004^0022 




0040*0 


OOQOO078 


?R2828?8 


4101FC40 


0101F920 




0040RO 


00000001 


00504000 


oooooooi 


02004FCC 




0040A0 


O00 1»=8 5H 


O6004EC8 


0^000050 


2R282823 




004 DC 


oooooooi 


4510CO0 


OF004D24 


R000406C 




04 DEO 


05EFO70O 


451 OCOFC 


7F000000 


OOROOOOO 




004EOO 


58F0F030 


05FF41 10 


COE858F0 


1 O0858FH 




004F20 


4F30C24H 


5030C258 


F273C250 


C 1FC4F30 




004F40 


00004E4 8 


oooooooo 


C2C102C5 


09404040 




004E60 


C27C5831 


00O04E30 


C2680203 


C27CC 1F8 




0041=80 


C26P0700 


45 10C19C 


7F0OO000 


^0200000 




004EA0 


58F0F0 : *0 


0SFF41 10 


C1885RF0 


100858^0 




04 ECO 


96101012 


4 7F0C0E4 


07FEO7FE 


4510CIOA 




004EE0 


41000048 


0A0A98EC 


0O0C92FF 


0HOC4 1F0 


> 


004FOO 


40404040 


40404040 


40404040 


40404040 


1 


LINF 004F20 


SAME AS ABOVE 






004F40 


40404040 


40404040 


oooooooo 


OOOOOOIF 


o 


004F60 


0038808^ 


oooooooo 


oooooooo 


3702963C 




004F 80 


40^04 040 


40404040 


F2F2F2F2 


40404040 




004FA0 


40404040 


40404040 


40404040 


40404040 




LINE 004FC0 


SAME AS ABOVE 








004FE0 


40404040 


40404040 


40404040 


40404040 




oosooo 


oooooooo 


42204034 


C2C102C5 


Qq404040 




005020 


OOonooOO 


0O004CO0 


47F0F00A 


OSC2C102 




00504C 


0A0A50O1 


0004501 


00081801 


5R1 00004 




005060 


0A0E1881 


1B335A32 


00005030 


D04R5A32 




005080 


C5401811 


0A085030 


004C411 


00481A10 




005 0AO 


D3C9C540 


0A064700 


00OF1R51 


1 R991A9F 




05 OC 


C8C1C440 


C 10540C5 


090906 09 


0A230203 




0050EO 


0018181« 


0A0E04C0 


18105800 


00044100 




005L00 


07FF0000 


oooooooo 


09005110 


47820700 




005120 


C5O90906 


096 340CI 


C2C505C4 


40C4E404 




005140 


80000378 


5810C108 


OAOOOOOO 


oooooooo 




C05lf>0 


004H8300 


oooooooi 


00004000 


000^^00 1 




0051 80 


9201F1F0 


0001F348 


07OO52EA 


00^00660 




0051AO 


00000070 


OOOOOOOI 


00005150 


oooooooo 




0051C0 


40404040 


4O404040 


40404040 


50^0526F 




C051E0 


000053A8 


00 05 IE 3 


9000306F 


0000533C 




005200 


7FO0OOOO 


40204040 


000O51 50 


C0O053?0 




005220 


D09602 7C 


F000O16C 


41FF0070 


5OFO015C 




005240 


D203E000 


016841FF 


000450FO 


15C41 10 




005260 


41 I 00 04 R 


58^01008 


58F0 (: 034 


05FF4U0 




005280 


00CC1A0 1 


IA011A01 


92400170 


D277D171 



OOOOOOOO 
0F004BE0 
8000123C 
14010219 
00021100 
47F0C000 



C1C203C5 
47F0F00A 
00081301 
4 7F0C0C4 
0001FCFC 
T001F920 
90000000 
2101FC10 
0A13411O 
00004D6C 
E03405FF 
C2505030 
0A064700 
0203C238 
00004024 
E03405FF 
00004024 
000007FF 
40404040 

OOOOOOOO 
40202O20 
40404040 
404040,40 

40404040 
00290040 
C50990FC 
58110018 
00044100 
4 5F0C06C 
4780C096 
20085000 
01F40A0A 
4510C102 
0740C6D6 
OOOOOOOO 

oooooooi 

28282828 

00004COO 
00^1^348 
0000533C 
OOOIF408 
411F0070 
00489220 
00014800 
01704110 



7FOQ0000 
0?OOIOFO 
80O0123C 

oooooooo 

41000001 
48RA000C 



40404040 
04C1C203 
581 00004 
11481000 
9201FAO0 
00000078 
9054?000 
0101F7F0 
C0244100 
90004FFR 
0207C248 
C25C4110 
006FO?03 
C1FC020R 
00004F7C 
41 10C024 
8000406C 
OOOOOOOO 
40404040 

OOOOOOIF 
6B202O20 
404040F3 
40404040 

40404040 
00005028 
O00C05C0 
18210205 
C04247F0 
0000509C 
4510C094 
41400008 
98ECO00C 
00250000 
030306E6 

oooooooo 

54000000 
4101F400 
0001A378 
00002214 
00000008 
0033000F 
191047C0 
100558F1 
005C9560 
003R1901 



OOOOOOOO 
000O123C 
0000123C 
47F0F008 
3R0OOO0F 
5400F048 



006 71 OCO 
C50090FC 
58H0018 
OOOOOOOI 
0001FR58 
0001FR70 
0001FC9C 
OO01F7F0 
00011300 
0001FCI* 
C2F8F27? 
C?5«0700 
C27CC2F4 
C294C27H 
0001FC48 
9148101 1 
0A14181O 
FOFOFOFl 
40404040 

OOOOOOOI 
6B202020 
6BF7F0F2 
404 04040 

OOOOOOOO 
FF050006 
410001F4 
0054C0D0 
C04AC3C8 
OOOOOOOO 
00140000 
IA2458A0 
92FFD00C 
070906C7 
F2000A23 
OOOOOOOO 
002C0020 
0101F0P0 
OOOOOOOO 
00005200 
40404040 
98E00158 
00B61BFE 
000858F0 
01704740 
47A000EA 



OOOOOOOO 
C24047F0 
0000123C 
41CC000? 
4710F02E 
47F0F01A 



00004CF0 
000C05C0 
18214500 
00004000 
07004ECA 
00410000 
1201FA00 
00000004 
58F10054 
58FL0008 
C248CIF8 
45F0C150 
0276C270 
OE08C294 
58F10008 
47E0CIC4 
58000004 
FOFOFOFl 
40404040 

OOOOOOOI 
FIFIF1F1 
68F9F6F3 
40404040 

OOOOOOOO 
690050A6 
4510C008 
41100054 
C10903C9 
C3C8CID9 
04CIF740 
0004502A 
41F00000 
09C 10440 
47F0C10C 
OOOOOOOO 
1001F45C 
OOOIFOBO 
00019EF0 
0000005C 
40404040 
12EF4780 
40F00168 
F03005EF 
00CE4720 
4000005C 



T3 

Q 



I 



C0 !M 


07F5431O 


S F 4 1 1 1 


0001 4010 


005F92F£ 


oo "mm 


oi S49<sro 


01E5O201 


ooscni 30 


47F0006T 


3 5 ? F n 


4 7F000*? 


7C IC7C5 


FFFF07FF 


^0^0000^ 


^ n c, ^ o n 


OOOOOOOO 


FOFOFOFO 


FFFFFFFO 


OPO06300 


5 3 2 C 


08 L404O 


00704040 


40404040 


404040FQ 


00 5 5 4 


40404 140 


4O4O4040 


F0F4FOF4 


FOF4F040 


L I NG S 00 53 6 0- 


-005380 SAME AS ABOVE 






3C6 3A0 


40400 7^0 


F 1F0F1F2 






n 1 F 3 n 










OlFTAO 


C9C7C7F0 


F 1F0C3C6 


ooiCFon 


0101F0RP 


OlFOC^ 


^l 40 2024 


4780F07Q 


41550008 


4860F01 A 


^IFOFO 


400047RO 


F04E874O 


F07CO14R 


201 14710 


oipioo 


no 1451 o 


30305050 


3^304210 


3^304^60 


IF 120 


502F20 1? 


0700701? 


9*803000 


014«201 1 


IF 1 40 


30305040 


301 847F0 


FOA40640 


3^2CO20O 


I F i 6 


S 1 8 4 F 3 


Fl R8F203 


F30BF4A5 


F 5ARF633 


IF 1 80 


O^OIF I OR 


000 if 00 8 


COC7C7F0 


F 1FOC303 


oiri ao 


1R2A91 RO 


2O00478O 


F036O47F 


200043A2 


n l F 1 C 


402C41A? 


^073S0A2 


001 8S0A0 


0H484122 


Tl^lFO 


COC 7C7F0 


FIF9C2CI 


002AF010 


0101F 1F0 


01FP00 


000O414O 


00014043 


002494BF 


20304 10 3 


01F2?o 


4 74 8 OCT 


120 70 1 I 


478OR044 


9180203P 


IF ?40 


1 A 43 5 04 3 


00 1 8040 I 


3000O/S40 


3 0^01 844 


01F?60 


43502010 


9 ICO? 02 4 


478030A0 


91407074 


1 F > 8 o 


I A65O701 


30066000 


43630006 


47F080B4 


01F2A0 


4350703F 


1A654064 


00060202 


4 O 1 I 


01F7CO 


18741A43 


58F02048 


0401 3000 


96703000 


01F2r-r. 


O10P2024 


47108070 


O47F203O 


47FOR070 


01F300 


602 40 00 


4 7F 8074 


O60C4000 


02013024 


01F370 


131 51R55 


5013000C 


47F08044 


FFFF0700 


01F340 


OO0DF010 


01O1F348 


00ERO014 


1 85F5821 


OIF 3 60 


47405028 


18144100 


OOOlOAOl 


47F05010 


OIF 380 


0A3712FF 


478O501O 


05FF9R01 


004^41 1 1 


01F400 


41 01 F4 00 


7F00008 1 


43000000 


7F005200 


OIF 470 


0001F430 


00010000 


13005320 


40000031 


OIF 4 40 


ooooocfc 


OOOOOFFC 


o nnoFFC 


oooooooo 


0LF460 


4^1 FC9P 


C8000000 


OFOOOOOO 


01^00000 


01F480 


00010000 


C7C2C2C1 


C303C3T6 


OOO0306A 


01F4C0 






30700100 


F3F0F5CI 


01F4F0 


03F003F0 


0O01F880 


OOOOOOFO 


0OO051AR 


01F500 


00)05150 


80007FF0 


000031 70 


000O521F 


01F520 


50002FQA 


0001F348 


0001F7DR 


00O001A4 


1F^40 


FF 05 00 00 


4901F5RF 


oooooooo 


0000500R 


01F560 


C0CS03C4 


06C5F2C 1 


F5C504C1 


C3090600 


01FS80 


0A0A50D1 


00045010 


0O0R18O1 


58620000 


01F5A0 


0004502A 


0^1 35550 


00674770 


C04R0700 


01FSCO 


58000004 


41000043 


0AOA98FC 


000C97FF 


01F5E^ 


000051 5^ 


OOOIFFRR 


0001F060 


0O00740R 


01F600 


00000007 


ooo^4C40 


0001FT4C 


00007338 


01F(S70 


oooooooo 


70005038 


oooooooi 


00000002 


01FS40 


0FQIF67F 


AO^OOOOR 


0601F6BO 


2^000100 


011=660 


0C0OHOF4 


4001F618 


0001FF0O 


030OO0O0 



D170O7O3 
9RE0O15R 

oooooooo 
oooooooo 

FQF5F3F2 
4040C6F0 



53603078 
4140FOAC 
FO4A4140 
F0 6O4O ( ,0 
471 r >F09A 
307R4001 
F7RBF3C3 
OOOAFO] 
O02F44A0 
O00BO7FF 
90FR0O14 
00085001 
4780R17A 
43402043 
47R080B0 
91R01004 
50302O44 
917020U 
94F04000 
R13C9640 

oooooooo 

00OR5831 
1R171R03 
OOOOOA37 

0001F43R 
01005379 
OOOOOOOO 
OOOOOOOO 
00003039 

000COO7? 
O0000R7R 
0002O000 
C3CRC109 
47FOF07P 
90FC00OC 
50470004 
47F0CO47 
O0OC41FO 
6901F550 
00000080 
00000007 
7F000000 
OOOOOOOO 



01000170 
12FF07R5 
00 n 05?F0 
0001F4CR 
F0404040 
C6F4C6F0 



4360507c 
4U0F^0F 
F0C047F3 
303601 30 
Q43F30^0 
41 103^8 
F9CBC1 03 
O101F193 
F03C47R0 
91OO402C 
1RRF5821 
0^>l05ni3 
O6RO7030 
IR741A43 
91201005 
47108080 
05FF9RFR 
47F0R100 
50430O13 
203047FO 
00OIF1 03 
00101R41 
4RO05008 
03^80014 

08000000 
70^00073 
00O078F0 
0F005L60 
6000207^ 

00002070 
40007077 
OOOOOl RO 
0309054^ 
1 AC905C6 
05C01821 
50670008 
300001RC 
000007FF 
00OIF660 
0000003C 
09005110 
O7010O00 
^0000000 



4F100150 
41 1 FO0^4 
OP00060R 
0O007714 
40404040 
T.6F44040 



0001F180 
91007074 
41000002 
FQ4F41 40 
70174730 
O(SO03030 
0A0O07FF 
070BC3F3 
4 1220000 
F036923B 
0001F330 
00085830 
000C1855 
53F0204C 
91702011 
47F08030 
43610006 
001407FF 
41030030 
91401005 
30741851 
C9C7C7F0 
917F4000 
90010040 
07FF070O 

4001F478 
OOOOOFFC 
OCOOOOOO 
0201F43R 



FFO^COOF 
OOOOOOOO 
^0000180 
00162040 
06C60906 
41000048 
41400008 
6R10C03F 
0000000? 
O001F630 
4000AC7A 
47825028 
7F01F650 
06000306 



^9 



3301E2 
IF0785 
00060008 
A000263F 
FOFOFRFl 
4 0F6F0C6 



0OO0OIA4 
47B0F020 
05005000 
F0ACA155 
F07CD?00 
40014140 
400BF013 
F501E641 
41A00008 
202894CF 
0001F180 
20445833 
<HC01005 
43402040 
47F08074 
5861000C 
47F080B4 
4340204? 
500 3001 B 
47108118 
18120A19 
F1F9C2C? 
4710504C 
41110000 
7000700 

00005150 
0001F198 
04000180 
83001?84 



0001F36C 
00O1F098 
000051B8 
O301F550 
04C9C4C6 
4510C00A 
1A2458A0 
0A001810 
00005028 
00004F5 8 
OOOIFFOC 
40C1012? 
0001F650 
OOOOOOOO 



Q 



Cn 

I 

ro 



01F680 
01F6*0 
01F6C0 
01F6FC 
01F700 
OIF 720 
OIF740 
01F760 
01^780 
01F7A0 
01F7C0 
01F7FQ 
01F800 

1 F R 2 
OIF 840 
01F860 
OlFdBO 
01F8A0 
^tF8C0 
01F8F0 
01F90^ 
01F970 
01P940 
01F960 
01F980 
01F9AO 

01F9C0 
01F9E0 
01FA00 
01FA20 
01FA4O 
01FA60 
OIF A 80 
01FAA0 
Ol^ACO 
01FAFO 
OlFRO 1 ^ 
01FR20 
01FR40 
01FR60 
O1FS80 
01FRA° 
OIFBCG 
01FRCO 
OlFC 00 
01FC20 
01FC40 
01FC60 
01FC80 
OlFCAO 
01FCCO 

1 PC F 
01FO00 
01F020 



060^0307 
00000000 

oooioooi 
oooooooo 
oioooooo 

3101F777 

0801F730 
OCOCOOOO 
41270000 
F03692RR 
0001FD63 
C9C7C7F0 
F01 RO204 
0008F010 
F02A0 7 7F 
C9C7C7F0 
00009101 
603F8R40 
503700 13 
50144740 
98F60014 
59403023 
41440008 
30304150 
96803000 
OOO&FOl^ 
OQ7F44A0 
00 r >807FF 
9 OF » 001 4 
00085001 
4780917* 
43402043 
4780R0R0 
918^1004 
59302^44 
91702011 
94F04000 
81 3C9640 
0001PF50 
00085831 
13171303 
O00r»0A37 
FF040033 
00000003 
6901F576 
0001 FC40 
4101 PC 40 
00000000 
OOOOOFFC 
0401PC C C 
00010000 
OOOOOFFC 
0401 FOFC 
00010000 



0000104^ 
00000001 

onoooosc 

07C00043 
000 00 7CO 
40000005 
00000000 
4001F720 
41A00008 
2 02R94CF 
0001F5O3 
P1F9C3C 3 
30792003 
0101P878 
9601200C 
F1F9C3C2 
50 304780 
00034144 
96042000 
5^9041 12 
07FCQ70O 
4850302'= 
T1072024 
3^305050 
41 10300« 
0101F9A8 
F03C478O 
910O4O2C 
138F5371 
00l050n 
95802030 
18741 A43 
9 1 2 I n S 
471 080RO 
05FF93FR 
47F0R100 
5043001 3 
203047F0 
0001F9FS 
00101841 
4R005008 
98E80014 
40002F 14 

00000007 

OC01FQ6O 
080000^^ 
7F0000OO 
00010000 
0001P878 
4800000O 
C2C2C7C1 
OOOOOFFC 
C 8000 0*^0 
C7F2C2CI 



00005110 
4000784C 
080000F1 
FC013700 
O01FOO01 
0801 F770 
0501F618 
0C01FFD0 
1R7A9I80 
40 2C41A2 
00^024AR 
0006P010 
41 130003 
077E4390 
96C0402C 
0O15F010 
6084581? 
000347FO 
47430000 
00^44100 
0001F990 
43503030 
4780F036 
30189130 
OA^rVFF 
41220000 
F0369283 
0001FR40 
0008SR3O 
0O0C1R55 
SRP02 n 4C 
91707011 
47F08OB0 
43510006 
001407FF 
41030030 
91401005 
80741851 
C9C7C7F0 
91 7F4CO0 
9001004^ 
O7FF0700 
3 A 1 3 A I 
0O0073R8 
0000240R 
4001FC33 
0000000° 
83004F7C 
OOOOOFFC 
00000000 
C302C3C3 
OOOOOFFC 
OFOOOOOO 
C30 3C3C5 



003C0300 
OO0031F8 
00000000 
OOOROOOO 
B80O0008 
00000000 
00000100 
40000008 
20004780 
002850A2 
8000240C 
0101F7F0 
0A0007FF 
404241 AO 
96042000 
0101FR70 
OOOC9140 
6H481344 
4112^008 
O001PA31 
0001F35R 
91C02024 
06804364 
20124730 
07000700 
41A00008 
2 02 894CF 
OC01F990 
20445833 
9100100 5 
43402040 
47F0R074 
5R61000C 
4 7F080R4 
43402042 
50030018 
47108113 
1R120A19 
FIP9C2C? 
4710504C 
41 1 10000 
07000700 
00^1F530 
00000030 

oooooooo 

0000406C 
7F004F83 

40^00093 

ooooooo"* 

01^00000 
R000254E 
OOOOOOOO 
OIOOOOOO 
C3C2306A 



oooooooo 

OFOOOOOO 
C5F2C606 
0O0OC7C5 
OOOOOOOO 
9201F718 

7F000000 

n^nnooon 

F036947F 
001850A0 
FFOOOOOO 
91207O1 1 
0001F858 
0008189A 
7F F 6 1 5 C 
90F60014 
10004710 
8B400003 
OA00914P 
47F06090 
C9C7C7F0 
4780F074 
00004144 
F064r>700 

o^oipgpR 

IB2A9190 
402C41A2 
C9C7C7F0 
00004140 
4 740 8 PC C 
1A435043 
43502010 
IA650201 
486C203F 
18741A43 
91082024 
96024000 
18151855 
OOOOF010 
47405028 
0A3712FF 
0O2FORO0 
00000048 

0000003c 

2101FC10 

OOOOOOOO 
O001FC78 
11004F7C 
OOOOOOOO 
OOOOOOOO 
3F0O000O 
OOOOOOOO 
OOOOOOOO 
00003039 



00005023 

oooooooc 

09E34040 
06D9C7C5 

oooooooo 

400^0008 
02000000 

oooooooo 

200043A2 
00OQ4C0O 
0O0O5008 
47E0F018 
0001F7D8 
41497^00 
07000 700 
186F1840 
602C4100 
41440083 
50794780 
41120004 
F1F9C3C5 
91402024 
00015040 
307F2017 
O001F9P8 
70004780 
007350A7 
F1F9C2CI 
00014043 
91202011 
00189401 
91C02024 
30O66O00 
1A654064 
58F02043 
47108070 
47F08074 
5013000C 
0201F953 
13144100 
47905010 
F4F0F1C3 
300001BC 
4000 AC7A 
7FO00000 
00010000 
09000000 
20000078 
00002AF0 
OF004D6C 
0001FO38 
00002AC0 
OF004024 
60007070 



^00^5029 

oooooooo 

00310429 
40400C20 
00000003 
6901F5P4 
7F01F750 
00000300 
002F44AO 
000073R8 
0001F810 
05077045 
C9C7C7F0 
58AA0OO0 
0001F908 
18515820 
OO^lOAOl 
41320028 
60764740 
5012000C 
0010F010 
4780F024 
30304050 
9240302C 
C9C7C7F0 
F036947F 
001850A0 
002AF010 
002494BF 
47808044 
30009640 
47B080A0 
48630006 
00060202 
94013000 
947F2030 
960C4000 
47F08044 
90E80C14 
OOOlOAOl 
05EF9801 
00OCD072 
0001F630 
0001F5E0 
OOOOOOOO 
02004EF8 
4001FC70 
OOOOOFFC 
OCOOOOOO 
0201FC78 
OOOOOFFC 
OCOOOOOO 
0201FCO8 



•AGE 0016 
0001F5F4 
OOOOOOOO 
00320100 
042B002E 
01080100 
40000008 
0001F750 
00000002 
F03C4780 
00000180 
0001F528 
30014770 
Fl*=9C3D2 
O501A000 
0001F810 
50445822 
12444740 
94B03004 
609091FE 
47F0602C 
0101F920 
4B50F022 
30364260 
92002012 
F1F9C3D3 
200043A2 
Q0484122 
0201FA00 
20304103 
91B02030 
30001B44 
91402024 
47F080B4 
4001 100D 
96203000 
47F08070 
02013024 
FFFF0700 
185F5821 
47F05010 
00404111 
00002070 
00000002 
OOOOOOOO 
7F0040E8 
20000050 
00004024 
OOOOOEFC 
04000180 
33001254 
0001F9A8 
05000180 
93001284 



01FO60 



FF05(S9iC 



0001FSFO 



0001P550 



0001F6?8 



00004F58 



00000002 00004C40 



0001FF4C 





Olhnso 


000023R8 


00000080 


000^003C 


40O0AC7A 




OlFOAO 


0000740* 


S901F5SC 


0001F634 


OOOOOOOO 


^Q 


OlFOCO 


oooooooo 


oooooooo 


OOOOOFFC 


OOOOOFFC 


Q 


i F H F 


0000010 i 


oooooooo 


OF0O000 n 


00000180 


— t- 


OlFtOO 


OOOOOOOO 


0F0LFFO0 


040C3BSO 


^onnff 




IFF 20 


00O0RF8O 


0001FF4C 


HOOOl 3FC 


000030F 8 




Oi' rc AO 


oooooooo 


no n ir«4o 


F7D0C1FR 


4 04O4040 




01FFH0 


000000 


oooooooo 


FF05400C 


0001FC6B 




OlF^AO 


00 004F5 8 


0001FFIC 


OOOOOooi 


00004C40 




01FFC0 


4900 AC 7A 


ooci r For 


0O01FF4C 


40004000 




1 r E F 


oooocooo 


oooooooo 


oooooooo 


oooooooo 




OlF^OO 


I 2 00 ROOT 


oooooooo 


oooooooo 


OOn iff i 4 




IFF 20 


oooioo^o 


OnooOO^O 


oooooooo 


oooooooo 




IFF 40 


oooooooo 


ooooooo n 


oooooooo 


Dir>7D34"t 




01FF60 


40404040 


1^040100 


010ftC2D3 


ror 74040 




01FFB0 


C2C50«SC^ 


000 VOAOO 


HOOOl? 84 


14000^00 




oiff'vo 


14000100 


09CBC1C4 


C5D94040 


O0O4O700 




OlFOCO 


000iF6«B 


0000240B 


40004CF0 


00000030 




01FFE0 


0001FF4C 


0000?3*8 


OOOOOOBO 


O00OO03C 



0001FFOC 
OOOOOOOO 
OOOOOFFC 
r>o^0">000 

oooooooo 

000 1FF74 

0004FO^O 
OOOIFSFO 
0001FF4C 

oooooo^^ 
oooooooo 

OOPO r 090 

oooooooo 

4O4O4040 
000*0900 

0709C90S 

80001254 
0001FFIC 
4000AC7A 



oooooooo 
oooooooo 

OOOOOFFC 
400O0000 
00O?00'8 
O0O0RF48 

O090S000 
O0O024OB 
OO0O23BB 
OOOOOOOO 

oooooooo 

C1C203C5 

oooooooo 

C706C706 
B00013FC 
F3F50940 

oooooooo 

000O006C 
0O01FF0C 



7^005038 
OOOOOOOO 
QOOpOFFC 
OOOOOOOO 
00020190 
OOOOOIRO 

oooooooo 

7000502B 
OOOOOOBO 
OOOOOOOO 
001R8000 
4O404040 

oooooooo 

4040404^ 
14000000 
00O4O400 
OOOOOlfll 
00000181 
0001FF4C 



PAGT^ 0017 
00OIF5F0 
OOOOOOOO 

oooooooo 
oioooooo 

00OIFF98 
60002070 

OOOOOOOO 

FFFFPFFF 

0000003C 

oooooooo 

0001FOEC 
80O1FF2? 
OOOOOOOO 
40404040 
E2F8F2C1 
80001284 

oooooooo 

00004C40 
00000180 



> 
Oi 



FNO OF OUMP 



CO 



T3 
Q 



COMPLETION CODE - SYSTFM=OOC USFR=0444 
IEF285I SYS1.JOBLIR 

VOL SER NOS = DLI802. 



IEF285I 
IFF285I 
IEF285I 
IEF?85I 
IEF285I 



SYSOUT 
VOL SFR 
SYSOUT 
VOL SER 



NOS = 



MQS = 



KFPT 

SYSniJT 

SYSOUT 



l 

K> 



ANSWERS TO 
DEBUGGING CONCEPTS QUESTIONS 

1. Requirements 

Need a "SYSABEND DD" card 
3 ways to initiate 

a. Issuing a "CANCEL jobname, DUMP?" command. 

b. Executing an "ABEND" id, DUMP" macro. 

c. Executing an operation that cause a program 
interrupt or violates OS requirements. 

2. a. The user 

b. The 0444 is first positional parameter of the 
user's ABEND macro. 

3. One should look at the TIOT 

4. JOBLIB 
SYSABEND 
PRINTER 
READER 

5. a. 1284 

b. 1254 

c. 1284 

d. 13FC 

6. a. 00E 



b. 


OOC 


c. 


00E 


d. 


192 



7. The DEB's in the DEB chain reflect opened data sets. 
Each of these DEB's points to a DCB. After "OPEN," 
the DCB points to the TIOT. From the TIOT one can 
determine the DD names associated with the data set. 
(The address is as close as one can get to ident- 
ifying the data set from the dump) . 

8. DEB DCB ddname in TIOT 
1FT5C 5150 (+16) SYSABEND 
1FC9C 4D6C (+16) READER 
1FCFC 4D24 (+16) PRINTER 
1FDEC 1FED0 JOBLIB 



Part II A15-25 



9. 4CD0 (obtained from bytes 128-131 of CVT) . 

10. 1FFFF (obtained from bytes 164-167 of CVT). 

11. a. 176 bytes 

b. LPLB 

c. 40 bytes 

d. A001 and A002 are PRB's. A LPRB needs two 
extra words to facilitate the forward and 
backward chainning of the Load List. 

12. a. It points to the address of an LPRB describing 

an entry identified via the IDENTIFY macro. 

b. Because the IDENTIFY macro was used in CSECT 
ABLE. 

13. It is "b3" because there have been 3 less DELETES 
for CHARLIE than there were LOADS. 

14. RB for A005 

15. For SVC B (ABEND). 

16. CHARLIE 

17. No (If it had a ESA the RB would have been longer 
than 96 bytes) . 

18. 920 bytes (it goes into the svctransient area which 
is 1024 bytes in length. 

19. 1024 bytes 

20. 2D70 (Can determine this by looking at the Entry 
Point for any SVC routine) . 

21. a. The "PSW" is all zero's because no program has 

either used this module of if it was used it 
never was interrupted which would require storing 
of the Resume PSW. 

b. These can only operate under the RB of the 
module which calls L002-L008. These modules 
are branched to by a type 1 linkage. 

22. These are all data management modules which were 
loaded because of an OPEN. 



Part II A 15 -26 



23. a. The programmer who produced the module (although) 

asembler For Testran can determine that the 
module have this attribute, it is the programmer 
who must assign it). 

b. Linkage Editor time (Parm field of the EXEX 
statement) . 

24. Start with the pointer to the CVT in location Hex 
10. The first word in CVT points to the TCB. The 

forst wprd om tje TCB points to top RB of the 
list. 

25. 1FE88 

26. a. Into the second word. 

b. The High Save Area (HSA) . 

c. 0001FE88. 

27. a. "They" knew INFOFROMIDFIELDOF SAVE MACRO was 

the entry point because it was so specified in 
the SAVE macro in CSECT CHARLIE. 

b. The "00222" cane form the LINK macro in CSECT 
BAKER 

28. a. Six. 

b. Operation, Addressing, Specification, Data, 
Fixed-point overflow significance. 

c. Hex 5110 

d. Module BAKER. 

29. Location Hex 14 contains address 3ADB which is 
pointer to trace table description. 

Hex 4190 Last Entry 
Hex 3B00 Table Begin 
Hex 4780 Table End 

Table End - Table Begin = Hex C80 = 3200 bytes. 
AT 32 bytes/entry the table can hold 100 entries. 

30. Bit 13=1 

Bit 16-19= 0001 

Result is that the last entry is an SVC 10. Register 
1 contains and address at the top of core and not 
with in the limits of any RB so that is a FREEMAIN. 



Part II A15-27 



31. a. BASM 

b. 1FC40 

c. 1FC70 

d. Channel End 

e. 120 

32. a. No. The contents of DCBBUFNO contains 00 in 

the DCB for the READER (location 4D80) . 

b. F0 (location 4EF8) . 



Part II A 15-28 



Q 



***ABOUMP REQUESTED*** 

JOB JPL STEP GOGO DATE 66179 "AGE OOOl 

COMPLETION CQDF USFR = 0444 

PSW UPON ENTRY TO ABEND FF05000D 4901F5BE 

TCB 000180 RB 01F4C8 PIE 01FDA8 DEB 01F45C TIOT 01FF4C CMP OOOIBC T"< M 00000000 

MSS 0000317O PK/FLGS 009 10400 FLGS/LDP OOOOOOOO LLS 01F528 JLB 01FE00 JSF 00000000 
ID/FSA 040 1FFB8 TCB 000000 TME 003184 

PIE PICA 0001F634 PSW OOOTOOOO 00000000 14 0000000^ 15 00000000 00 00000000 01 00000000 0? 00000000 

ACTIVE RBS 

A001 004CDO NM ABLE SZ/STAB 0O6710C0 USE/FP 00004CF0 PSW FF050006 70004E52 01FE60 WT/LNK 00000180 UB 005008 

A002 005008 NM BAKER S7/STAB 0^>?90040 USE/FP 000O5028 PSW FF050006 690050A6 000000 Wi/LNK 00004CDO UB 005150 

A003 01F530 NM CHARLIE SZ/STAB 00162040 USE/FP O301F550 PSW FF050000 4901F5BE 000000 WT/LNK 0000500K UB 01F5EO 

A004 01FBB0 NM SVC-401C SZ/STA3 OOOCD072 USF/FP 00002D70 PSW FF040033 40002F14 A103AI WT/LNK 0001F530 

REGS 0-7 00000048 800001BC O0OIF63O 0000000? 00000008 00000002 000023B8 OOOOOORO 

> REGS 8-L5 0000003C 4000AC7A O001F5E0 00000000 6901F576 0001FD60 00002408 00000000 

^ A005 01F4C8 NM SVC-105A SZ/SLAB 000C0072 USF/EP 00002070 PSW FF04000E 0001F36C DF03DF WT/LNK 0001FR8O 

*° REGS 0-7 OOOOOOEO 000051A8 00000R78 40002O72 00000000 0001F098 00005150 80002EFO 

REGS 8-15 00003170 0000521F 00020000 OOOOOIRO 00000180 000051B8 50002F9A 0001F348 

LOAD LIST 

L001 01FF68 NM XRAY SZ/STAB 0004F000 USE/EP 00005000 PSW 00000000 00000000 000000 WT/LNK 00000000 

L002 01FB48 NM IGG019RB SZ/STAB 000DF010 USE/EP 02O1FB58 UB 01F&B0 

L003 01F9F0 NM IGG019BA S7/SMB 002AF010 USE/EP 0201FA00 UB 01FB40 

L004 01F998 NM IGG019CL SZ/STAB 000AF010 USE/FP 0101F9A8 UB 01F9FR 

L005 01F910 NM IGG019CE SZ/STAB 0010F010 USE/EP 0101F920 UB 01F990 

L006 01F860 NM IGG019CB SZ/STAB 0015F010 USE/EP 0101F870 UB 01F908 

L007 01F818 NM IGG019CK SZ/STAB 0008F010 USE/EP 0101F828 UB 01F858 

LOOS 01F7E0 NM IGG019CC SZ/STAB 0n06F0l0 USE/E° 0101F7F0 UB 01F810 

L009 01F530 NM CHARLIE SZ/STAB 00162040 USE/EP 0301F550 PSW FF05000D 4901F5BE 000000 WT/LNK 00005008 UB 01F5E0 



PAGE 000? 



-o 

Q 



SAVF AREA TRACE 



ABLE 



WAS 



SA O001FFR8 
00 00000030 

07 ooooooao 



RAKER 



WAS 



SA 0001FER8 
00 FFFFFFFF 
07 00000030 



ENTERED 




AT 


EP 


ABLE 


WD1 000001 81 


HSA 


ooooooao 


LSA 


0001FFR8 


01 O001FF1C 


02 


OOOOOOftC 


03 


000001R1 


08 0000003C 


09 


4 r »D0AC 7 A 


10 


f^OOlFFOC 


ENTERED, VIA 


LINK 


001U, \T 


CO 


RAKER 


WD I FF0 5400C 


HSA 


nnoiFFRq 


LSA 


oooirsco 


01 0000 4F5 8 


02 


OOOiFf 1C 


03 


oooooooi 


08 0000003C 


09 


40T0AC7A 


10 


oooiFFor. 



OFT DO002408 
04 000^4C40 
11 0001FF4C 



RET 00002408 
04 00004C4O 
11 0001FF4C 



FP 40004CFO 
05 0G01FF4C 
12 00000180 



EP 70005028 
OS 0001FF4C 
12 40004000 



CHARLIE WAS ENTERED, VIA LINK 00222, AT FP I NFOFRPM I OF I FL OOFS AVEMACRO 



SA 0001F5E0 
00 0001F550 
07 00000080 



W01 OD05150 
01 O001F63O 
C8 0000003C 



HSA 0O01FF83 
02 0O004F58 
09 4000AC7A 



ABLF 



WAS FNTERED, VIA CALL 



> 


SA 


0001F060 


wni 


FP05691C 


HSA 


^0OiF5E0 


en 


00 


00000002 


01 


00004C4C 


02 


0001FF4C 


i 

CO 

o 


07 


0001 FFOC 


08 


00000000 


09 


70005038 



LSA 0001FD60 
03 00000002 
10 0001FFOC 



LSA 0001F5S0 
03 00002383 
10 0001F5F0 



RET 00002408 
04 OPQ04C40 
11 OOOOQOOO 



RET 
04 
11 



0001F628 
00000080 
00002408 



INCORRECT BACK CHAIN 



FP 6901F550 
05 0O01FF4C 
17 70005038 



P 0P004F58, 
05 "0"0000'03C 
12 6901F550 




SA 


0001F550 


WOi 


47F0F020 


HSA 


1 


00 


D6C6E2C1 


01 


E5C504C1 


02 


c 


07 


0A0A5 0D1 


03 


00045010 


09 






1AC9D5C6 LSA 06C609D6 RET 04C9C4C6 / EP C9C5D 
:. 3090600 03 90FC000C 04 05C01821 / 05 41000 
00081301 10 58520000 11 SC420004j£ 12 50520 



3C4 

00048 



06 00007338 



06 00002383 



06 000023R8 



06 4000AC7A 



06 451OC00A 



INTERRUPT AT 01F5BE 

PROCEEDING BACK VIA REG 13 
ABLE WAS ENTERED, VIA CALL 



SA 0001FD60 
00 00000002 
07 0001FF0C 



WOI FFD5691C HSA 
01 00004C40 02 
08 00000000 09 



TUe Dump assumed that ABLE was entered & used this Save area because 
Word 5 (EP location of Save area) contains a valid address which falls 
within the boundary limits described by the Request Block for ABLE. This 
Save area was allocated from the top of core (from the free area) to satisfy 
a GETMAIN request .^Jhe allocated core storage is not cleared and there- 
fore may contain the resi'qjual information 

0001F5E0 LSA 0001F550 RET 0001F628 ^EP 00004F5I 



0001FF4C 
70005038 



03 00002388 
10 O001F5FO 



04 00000080 
11 00002408 



05 07T7T0~O03C 
12 6901F550 



06 4000AC7A 



CHARLIE WAS ENTERED, VIA LINK 00222 , AT EP I NFOFROM I OF I ELDGFS AVEMACRO 



SA 0001F5E0 
00 0001F550 
07 00000030 



WOI 000O5150 
01 O0OIF630 
08 0000003C 



HSA 0001FF38 
02 00004F58 
09 4000AC7A 



LSA 0001FO60 
03 00000007 
10 0001FF0C 



RFT 00002408 
04 0OO04C40 
11 00000000 



FP 6901F550 
05 O001FF4C 
12 70005038 



06 000023B8 



Save Area provided 
by System 



Save Area provided 
by ABLE 



Save Area provided 
by BAKER 



Save Area provided 
by CHARLIE 



;Qi 



REG^gKT FNTRY TO ABENO 
REG 0-7 00000048 
REG 3-15 0000003C 



a 



> 



000000 

000020 

000040 

000060 

000080 

0000A0 

LINES OOCOC 

000140 

000160 

000180 

000 1A0 

0001C0 

0001E0 

000200 

000220 

000240 

000260 

000280 

0002A0 

0002C0 

0002EO 

000300 

000320 

000340 

000360 

000380 

0003A0 

0003C0 

0003E0 

000400 

000420 

000440 

000460 

000480 

0004A0 

0004C0 

0004E0 

000500 

000520 

000540 

000560 

000580 

0005A0 

0005C0 

0005E0 

000600 

000620 

000640 

000660 

000680 

0006A0 



00000000 

FF040001 
0001F438 
00040000 
01000007 
00000000 
0-000120 SA 
00000000 
00000000 



800001BC 
4000AC7A 

0000051C 

4001F36C 

08000000 
00000346 
00000000 
00000000 
MF AS ABOVE 
00000000 
00000000 



0001F630 
0001F5E0 

F0F0F5C1 
FF050006 
0001F428 
00040000 
00050000 
00000000 

00000000 
00000000 



00000002 

oonooooo 

0C0D0F17 

40000003 
000023B8 
000002FE 
00000000 
00000000 

00000000 
00000000 



00000008 
6901F576 

CVTt 

000023S8 
OOOOFFOO 
6309109F 
00020000 
00000000 
00000000 

00003134 
00000000 



00000002 
0001F060 

Trace Tablet 

O0003AO8 
00000000 
00000000 
00000OE2 
00000000 
00000000 

00000000 
00000000 



000023B8 
0000240R 

00000000 
FF06000F 
00040000 
00040000 
00000000 

oooooooo 

00000000 

oooooooo 



0001F4C8 

oooooooo 

5000526E 
0000533C 



0001FF24 
00002A40 
0000203A 
028096F0 
58900254 
98290100 
90A1021C 
94FD9011 
01FC98CD 
100012AA 
01FC8200 
03EA9889 
49A0025C 
05E60400 
474003B8 
40300400 
00000001 
00000008 
FF04000E 
01F89181 
581001F8 
048204B6 
FF0004C0 
92F00449 
47F004E0 
04C4D203 
04BE4780 
10034780 
478005 8A 
1008960C 
10009101 
01B09640 
401041F0 
C9C7C5F0 
00000001 
0001FA4B 
00002656 
062450F0 



0001F0A8 
00C1F528 
50002002 
0000533C 



0001F45C 
0001FFOO 
00000001 
00000008 



60005706 
0000338E 
00002138 
025F9029 
05B95850 
91F0026B 
02070440 
91800018 
002858B0 
07CB9280 
00284700 
023C43A9 
47A003DE 
03470022 
90A101B0 
58C00244 
00005200 
OOOOOOOO 
0001F36C 
10004790 
91881000 
82000440 
FF0004C0 
D70204B1 
90290400 
04C01000 
06144910 
056E94FE 
185647F0 
400B4150 
01904770 
400B0202 
06B658F0 
F0F0F0C7 
0001FB38 
0001FA0O 
41400620 
06244780 



00005DF8 
00000001 
00002000 
01004700 
024C47F0 
47800448 
001R47F0 
478002F2 
02509101 
100098F0 
0306900F 
A00041BA 
1EB80202 
477003B8 
58A00180 
07FC4810 
00005150 
00003170 
47000504 
049A9029 
4770049A 
00001084 
12114740 
04B107FE 
9140062B 
4770053? 
04BC0201 
100347F0 
057A4010 
40185860 
053A1801 
40100181 
400C58D0 
00048000 
0001FB84 
0001FF28 
50104018 
044C58B0 



0001FF4C 
OOOOOOOO 
00005200 

oooooooo r 



TCB 



6001FA0A 
4000284C 
00001000 
028E5840 
0BC690AI 
98A1021C 
02E45890 
582002F8 
0029078R 
A0008900 
04005890 
A0001ABA 
0249B000 
982F0408 
D207A010 
00224110 
0001F408 
000051A8 
58C00180 
01005830 
90290100 
00001C10 
04EC48A0 
13U58A0 
4770044C 
D20304C4 
04BA1000 
06844190 
50004060 
50001266 
58101004 
50400180 
40009001 
00002BEO 
0001FC68 
0001FE28 
45900500 
068041A0 



800001BC 
00003170 
00005150 



OOOOOOOO 
000051A8 
0001^408 



00003170 
50002D72 
00005200 



0401FF88 
00000001 
00003592 
000019C8 
01800207 
021C0207 
82000440 
04B490AI 
052247F0 
58A001R4 
C0001200 
025805B9 
478003EA 
9107B002 
950004B2 
002047F0 
IF008910 
00005200 
50002072 
02070440 
04A80523 
583004AC 
00000180 
04BC0201 
04C40203 
90290100 
10004590 
4770055A 
053A5840 
10009101 
478005BA 
9140400B 
02024015 
01BC07F9 
FF040190 
O001PB38 
00000180 
48610002 
0620058B 



OOOOOOOO 
00002410 
00000180 
00003A86 
40100038 
04400038 
90290100 
90305899 
029C0000 
12AA07CB 
07BB50F0 
1BAA43A0 
58300010 
4770030E 
478003BC 
044892FF 
000C988B 
0001F348 
000051B8 
C0109500 
98290100 
05239829 
00000180 
1000A000 
1000A000 
581004C0 
059E47F0 
020104BC 
20084150 
01904770 
185647F0 
07790227 
40009101 
92000449 
00003382 
0001F930 
0001FAEC 
1B004300 
000A0A03 



00003184 
00005078 
OOOOOOOO 
00003A70 
94F04011 
47F00280 
91F0026B 
00000207 
00001C58 
90C2A004 
002C41E0 
00239546 
584004B4 
96F00347 
82000020 
002247F0 
04200A0O 
0000533C 
5000526E 
C01C4770 
47F0049A 
01D098A1 
000004BA 
4010A000 
5010A000 
12114740 
05144810 
10005820 
401A4860 
053A47F0 
05AA5010 
402001C8 
40114710 
98290400 
00001520 
00000050 
5000B4BO 
600845F0 
4EOOO0O0 



00000080 

oooooooo 
oooooooo 

0001F36C 
000002B4 
0000025E 
OOOOOOOO 
OOOOOOOO 

OOOOOOOO 
OOOOOOOO 



00910400 
000051B8 
0001F348 



0001FEE4 
00O1FOA0 
00002070 
00174700 
90AIO1B0 
940F025F 
478O02CE 
90100018 
0A0390A9 
181A58A0 
02FC98A0 
002347A0 
58504000 
58600248 
95FF0020 
034ED23F 
OOOOOOOO 
0000533C 
0001F34B 
047C5810 
96020441 
OIB00201 
04BA04BA 
401004BC 
501004C4 
053A5510 
04BA4910 
10089101 
50001266 
05005840 
50005060 
02174048 
06029200 
47F0044C 
00004COO 
OOOIFAOO 
50002002 
06B855E0 
F3320008 



Q 



I 

CO 



0006C0 
0006E0 
000700 
000720 
000740 
000760 
000780 
0007A0 
0007CO 
0007E0 
000800 
000820 
000840 
000860 
000880 
000840 
0008C0 
0008E0 
000900 
0009 20 
000940 
000960 
000980 
0009A0 
0009C0 
0009E0 
000A00 
O0OA2O 
000A40 
000A60 
000A80 
000AA0 
000AC0 
O0OA60 
000B00 
000B20 
000840 
000860 
000B80 
0008A0 
0008C0 
000BE0 
000C00 
000C20 
000C40 
000C60 
000C80 
OOOCAO 
OOOCCO 
OOOCEO 
000000 
000020 
000040 
000060 
000080 



000558E0 
5834002C 
47800714 
1BAA43A7 
927F2004 
A0709101 
91CB7006 
58A05070 
928050EA 
41AA000C 
91022000 
07FA9U0 
D2012002 
91202000 
5U407FA 
00045890 
0B0C9130 
0C6E94FO 
70069184 
2 00C4 7F0 
4780094A 
921B50B0 
0A0E40A0 
30209108 
7033AO0A 
47C009EA 
09FA9602 
42A05005 
41C008BC 
09949130 
0A929242 
003C47F0 
08544397 
9101D001 
4 7F00AEC 
BOOOLOOO 
43910004 
0B664U0 
4060003A 
50E98000 
B00050E9 
004450E6 
1A661AAA 
00149180 
47800038 
47800C6E 
47800C88 
95500044 
0O2241F0 
0CEA9171 
91042000 
100407F8 
200441C8 
91040044 
700647F0 



000807FF 
910F3018 
4393001C 
OO0A89A0 
501B0000 
10014710 
41C0079C 
I 81 20 7F A 
47F00748 
9501A001 
47100818 
70064710 
701647F0 
47100884 
92000048 
506C05B9 
2010*710 
70069458 
00444788 
0EEC9459 
02025089 
0200A00O 
50C 29101 
20014710 
4 7200A4C 
02017035 
700641E0 
41A050C8 
96067006 
201041E0 
200494FE 
0A3C9110 
000748A9 
47800AF8 
91207012 
91011001 
58C05054 
004041EO 
920F0073 
439050E9 
07FE910E 
4780003C 
1AA6487A 
00454780 
43900045 
04010044 
947F7006 
47800EFE 
000C9498 
20004780 
47100F0A 
47000000 
00049180 
47800C88 
0C84D606 



41500800 
47E00862 
'+3A20020 
0003410A 
48105050 
07C8D201 
077C41R0 
58A0505C 
05022015 
47700706 
91C0402C 
0R2E47E0 
0F120200 
58F3001C 
43670005 
1R994017 
0916913E 
70069120 
00089477 
700647F8 
20199108 
302047F0 
20004710 
09EA0501 
91043008 
A00841A0 
080E47F0 
02025009 
47F00884 
091A4710 
7006940F 
20004710 
51C407FA 
40100000 
47100A92 
078E40B0 
58C9C000 
00304A10 
82000070 
46900BBA 
00454770 
18A68C60 
52064860 
0C5458F3 
90006000 
50EB9420 
91800044 
910C0044 
70069120 
0CEE9604 
45F00B30 
9F006000 
50EA4710 
91807006 
00412009 



1A551821 
1R9918A9 
89A09000 
51F207FC 
12114740 
50501000 
07944840 
439A0000 
50794730 
41800020 
47800818 
081f>0201 
50902018 
58FF0004 
9C 006000 
001494B7 
00454770 
00444718 
70064188 
O0089U0 
20004140 
08549110 
09940207 
70314004 
478009E4 
50C 09202 
04924040 
20119101 
58F3001C 
0A929110 
200041E0 
084458A2 
41070028 
40100002 
18AD18BA 
000 207FE 
07FF41B0 
50F458F0 
41F00014 
41A0007F 
0B844180 
00088870 
003A9120 
001C58FF 
47200D38 
70069108 
47100E28 
47800CBA 
20004710 
200005FF 
91202001 
47C000A8 
005418EC 
47800F28 
94BF2001 



928050EA 
91FE3010 
587A3020 
4012001P 
07A84071 
91022000 
0006O7F4 
92F0A000 
07644140 
47FO0B52 
91202000 
200C7O14 
41405090 
05FF47P0 
47200926 
70069640 
00989110 
00049608 
000447F0 
20004710 
50B04780 
20014710 
70302020 
4770044C 
05017035 
508045C0 
50CA1BAA 
20004780 
58FF00O0 
00444710 
0F3F4397 
00189101 
47F00AE0 
02011000 
48AB0000 
58820004 
00104 5F0 
001058FF 
58B30014 
89A00018 
00249200 
001C4366 
70064780 
000805EF 
40900044 
00444780 
91020044 
43970007 
0F1658A3 
47F00D00 
47t00B8C 
918050EA 
41C00AC2 
91030044 
947F7006 



41C00730 
47700704 
91FF7002 
n7O82008 
00029023 
4710078O 
47F007A0 
80005088 
54F00501 
41800794 
47880008 
94EF7006 
41C008BC 
088441 EO 
05408840 
70069130 
00444710 
70069140 
0E2845EO 
084A02O2 
096441A0 
0A9E41A7 
1BAA43A7 
05037033 
40084740 
085C4770 
43470030 
OA3C0202 
05EF47F0 
08E247F0 
00074849 
2000471O 

47F00A08 
505207FF 
124A074E 
43420004 
0B409200 
00348910 
58CB00O0 
58F05060 
50E41B99 
51FA1A67 
0C5C4817 
91FF0044 
91402001, 
00580206 
47100FE8 
48A951C8 
001C58FF 
47F00OOC 
02011000 
471007A0 
47F00720 
47800C84 
47F00C76 



18111804 
48730022 
47E00B62 
20080403 
100418A0 
91C0402C 
47FQ07F4 
80000078 
40021002 
91117006 
43970007 
45F00B04 
92005080 
000C4390 
001842A2 
201005CC 
08F645E0 
00444718 
0B0C9240 
50B92011 
50A8D200 
00319102 
003089A0 
A0064740 
09E40501 
0A629D00 
89A00004 
50092019 
0A8247F0 
0A0241E0 
51C447FA 
0ABE58A2 
41070028 
48A00002 
19A14770 
89A00018 
7006180C 
001007FF 
41BB0004 
07FF4290 
1R114860 
436651FA 
00149823 
47700C54 
47100086 
20090041 
91310045 
05EA9120 
A0009103 
47F00D3E 
50504010 
58A05074 
91207006 
02017014 
910E0045 



'4GE 0004 
58420014 
91707012 
58320004 
2000500C 
02001004 
47100FE2 
45E00AC2 
429AOOO0 
4770076A 
47700822 
48A951C6 
927E2004 
50A00048 
508048A9 
00104067 
18E84780 
0B0C47F0 
000R9680 
70029202 
91012000 
50B57018 
70064710 
000441 AA 
0A4CD503 
7035A00C 
600047B0 
43AA3020 
50A00048 
0A7A47F0 
0O0847F0 
000841A7 
001047F0 
47F00BCC 
401AOOOO 
0B0E0201 
58F05060 
181B47F0 
50100118 
IB990100 
50E90100 
003A0500 
54A050BC 
10045842 
91310045 
91807004 
91040044 
47700EFC 
70064780 
200C4770 
47F00022 
505092FF 
07FA927F 
47100090 
00449610 
47700B7C 



Q 



I 

CO 
CO 



OOOCTAO 
000OC0 
000060 
0006 00 
000620 
000640 
000^60 
000680 
OOOEAO 
000 FCO 
0006E0 
000^00 
000F20 
000F40 
000660 
000680 
OOOFAO 
0006C0 
0006E0 
001 000 
001020 
001040 
001060 
001080 
0010A0 
0010C0 
0010E0 
001100 
001120 
001140 
001160 
001180 
OOUAO 
0011C0 
0011E0 
001200 
001220 
001240 
001260 
001280 
0012A0 
0012C0 
00 1260 
001300 
001320 
001340 
001360 
0013 80 
0013A0 
0H13C0 
001360 
001400 
001420 
001440 
001460 



41800080 
45600614 
91C47006 
41C00610 
89900002 
0C900766 
07169106 
00BC48A7 
50A00048 
91020044 
201200 2 
70064740 
20004770 
0F0A9102 
0F669640 
476006 76 
50FA5821 
70064 7F0 
0CO29248 
001053C3 
9O0OAO00 
01060000 
00002472 
00000006 
04001342 
07001350 
0000U7A 
0000066C 
01009F00 
48110000 
45600DCA 
51664160 
50EO50E0 
47F00OC6 
2000F6FF 
00000F13 
126C12 84 



10009) 0006" 

8060F0C3 

14FO0000 

|0180| 0006 
00000000 
15140 844 



01830006 



00000000 
152C0008 
11000501 
OOOFOOOO 
00F1F9F1 
F6660A60 
0000 0000 
|0192| 000C 
00010100 
0801F670 
0020F680 
A* 



47800B52 
486A0000 
07761806 
47600786 
IAA9076E 
91207006 
70060786 
002E07FA 
9C006000 
47800600 
701607FF 
00339409 
00989120 
20000716 
402C9120 
58A0507C 
000445C0 
07849104 
20044180 
00649180 
47705020 
00000000 
00004788 
00003FFF 
20000006 
20000006 
80002000 
OOOOOEFC 
60004780 
45E00006 
47F051BC 
517A47F0 
45F00006 
0A600AA6 
11620000 
15F00000 
129CO000 



45600614 
07FE4817 
98231004 
47600024 
94A67006 
47800022 
91040044 
91807006 
474006B8 
92107016 
45600688 
70069120 
20044780 
9640402C 
70124780 
9601100^ 
060A4867 
20004160 
7 944 7F0 
C00458BC 
41805048 
OBOOOOOO 
000004B0 
F6800044 
00000000 
07001350 
00000004 
00001428 
07F807FC 
47F05140 
48705230 
51A0D201 
47F051B0 
0F420A60 
1U8FFFF 
00000000 
12CC12FC 



9180506A 
002891C6 
58420014 
47F0008C 
4397000B 
58A4000C 
0788<n AO 
47100664 
47300846 
92667017 
41600010 
20044780 
0F3E9576 
40730012 
0FR458F0 
41F0002? 
00045460 
000C4780 
060A9601 
00044710 
50800048 
00000001 
00003A90 
47100F28 
60000001 
60000006 
0000056F 
00000000 
41600200 
47F00030 
456000CA 
51F651F2 
47F 00030 
09260644 
116A6P66 

oooooooo 

132C1394 



04000004 
10000801 
0080FF88 
09040100 
OOOOOOOO 
03400000 
09060100 
OOOOOOOO 
0OC80000 
C5000000 
OOOOOOOO 
30002001 
OOOOOOOO 
OOOOOOOO 
01090100 
FFFF1424 
2 000 0004 
102811 0006 



00F0F0F9 
152C4 000 
lOOQEl BOOO 
00^1F8F0 
OOOOOOOO 
03C703F0 
00FIF8F3 
OOOOOOOO 
E2E86209 
13001378 
OOOOOOOO 
14F00004 
30000200 
OOOOOOOO 
00F1F9F2 
FFPF0A60 
0002FFF6 
090A0200 



10000820 

0080FF30 
07030000 
30C08001 
0040FF80 
F0F10800 
30008001 
0040FF86 
C5620800 
20000001 
OOOOOOOO 
00C80000 
OOOOOOOO 
OOOOOOOO 
30002001 
OOOOOOOO 
OBOOOOOO 
00F2F8FI 



471000C4 
70064776 
41800608 
186007FF 
58F95104 
4AA2001C 
506A4748 
4U70016 
90006000 
91100044 
47F00CC6 
0008943F 
20049244 
02011002 
506405PF 
07FA0014 
50844180 
0C0291C0 
70064160 
5016588C 
9C00A0OO 
152CFFFF 
00OO03A2 
17000000 
03001085 
1FOO1005 
000006FC 
00004AP8 
9F006000 
4870522C 
47P0518C 
410051F2 
02010004 
OACC096F 
1116FFFF 
OOOOOOOO 
13FC1460 



8000A002 
00041211 
912050EA 
41A05106 
58A0507C 
50A4000C 
0004940F 
50A050AO 
47R006B0 
471006A4 
96402001 
402C91^C 
20044780 
S23A47F0 
47F00FFF 
58C80000 
0OBC912O 
40 2C4760 
0DBC4107 
000C48A8 
50005044 
000004BO 
0000029C 
60000006 
600000C1 
6OC000OI 
OOOOOFFC 
0B0C0A92 
478007F8 
45600DCA 
O201516F 
481051F6 
10005860 
065CU3A 
11F2FFFF 
OOOOOOOO 
149014C0 



UCB's 



152C 0000 

looool oooo 

40F0F0C5 
OOOO OOOO 
|0182|0 006 
OOOOOOOO 
14fC4025 
|0190 l00^C 
0001*0100 
16001380 
07000700 
E6060902 
IA000000 
OOOOOOOO 
152C0004 
06000306 
OOOOOOOO 
30C08001 



0080FF88 
00020000 
10000808 
OOOOOOOO 
09050100 
OOOOOOOO 
03000000 
01070100 
FFFF1354 
20000004 
0040FFA0 
FOFliOOO 
70000005 
OOOOOOOO 
00C80000 
01000000 
00000800 
OOOOOOOO 



30000078 
47460004 
478007F8 
50605080 
056F4817 
47F00CC? 
700645C0 
920450A0 
910F0045 
91207006 
47F00022 
402C4780 
0F369241 
0F849102 
47F00FC6 
41500800 
20004780 
0FIF41F0 
002847F0 
000441B0 
82005040 
0000UC4 
00002 97C 
03000000 
08009600 
0801EED8 
OOOOOEFC 
IB6647F0 
07FC4100 
47F051BC 
51EA4100 
41E05190 
50E007FE 
80001150 
U2C0700 
123C0000 
FFFF1230 



ooocoooo 

00F0F0C4 
152C4000 
OOOOOOOO 
00F1F8F2 
OOOOOOOO 
03C703F0 
00F1F9F0 
FFFFOAEO 
OOOO OFOO 

loml oooc 

00010100 
0801F9A8 
07000700 
C403C9C2 
1A001448 
01F9280E 
OOOOOOOO 



0005 
47000000 
48710002 
45C00720 
439050 82 
001447F0 
91047006 
072041E0 
41A050A0 
47700B84 
47800022 
07FE9106 
0F5A9130 
200441E0 
20004710 
47F00F84 
IA5592A0 
0FC691C6 
001047F0 
0AC258B0 
07FF14AB 
91310045 
0000026B 
000004C8 
20000006 
OOOOOOOF 
C2010000 
OOOOOEFC 
07F84160 
51E21810 
4870522E 
51EA4810 
47F051A0 
48110000 
4000118A 
02000000 
00001254 



0080FF82 
ODOIOOOO 
10000802 
0040FF80 
OOOOOOOO 
30008001 
0040FF80 
F0F10800 
30002001 
OOOOOOOO 
OOOOOOOO 
01080100 
FFFF13BC 
OOOOOOOO 
0040FFA8 
F0F21001 
70000005 
40000500 
OOOOOOOO 



A/ 






> 
CO 



001480 
0014AO 
0014C0 
0014F0 
001500 
001520 
001540 
001560 
001550 
001 5A0 
0015C0 
0015E0 
00160C 
001620 
001640 
001660 
001680 
0016A0 
0016C0 
0016E0 
001 700 
001720 
001740 
001760 
001780 
0017 40 
0017C0 
0017F0 
001800 
001820 
001840 
001860 
001880 
0015A0 
0018C0 
0018E0 
001900 
001920 
001940 
00196O 

001980 
0019AO 
0019C0 
0019EO 
O01AO0 
001A20 
001A40 
001A60 
001A80 
OOIAAO 
001ACO 
OOiAEO 
00 IB 00 
001B20 
001B40 



00000000 
3 000 8001 
0020FF80 
F0F10800 



00000000 
2 600 4025 
028 3)0006 



oooooooo 

03000000 
090C0200 



oooooooo 

E2C309F3 
O0F2F8F3 



UCB's 



0020FF81 
C3C85800 
30008001 



0282| 4006 
OOOOOOOO 
14FC0844 



090B0200 
OOOOOOOO 
032RO0OO 



MilC \J V/ \J o 

00F2F8F? 
OOOOOOOO 
D3C7O3F0 



FF009598 
1514132C 

OOOOOOOO 
FFOOOOOO 
158C0000 
OOOOOOOO 
FFOOOOOO 
00010000 
00400000 
OOOOOOOO 
00000030 
20000000 
10U401C 
PF050000 
50204004 
80FF6037 
41FF0004 
077C95E0 
89000003 
071C5819 
FFFFFFFF 
92F0B0F0 
91C01008 
477080C4 
IF921 843 
47E0B0A4 
4 7F0B0C4 
18585835 
B1105861 
B20641F0 
B2044780 
16251725 
05804140 
B2084144 
58330000 
15544780 
B1D65853 
811841E0 
07FC0000 
OOOOD207 
58DCF056 
00001B68 
C089071E 
0104400C 
0001FF30 
00000004 
00001A58 
5E090008 
18B088B0 
1BAA50A0 
F09947F0 



OOOOOOOO 
000095BC 
FF 05 120 

15500000 
OOOOOOOO 
PFOOOOOO 
15RO0000 
OOOOOOOO 

ooonoooo 

OOOOOOOO 
OOOOOOOO 
00O70000 
OOOOOOOO 
5 8F5 005C 

oooooooo 

H71F2000 
04030000 
O7FC0507 
1012078C 
0207E08A 
00201711 
000016EA 
47P0RO3F 
47103044 
1B9F5837 
18821F2A 
50860004 
15A7470" 
00001865 
00005866 
000447F0 
81405824 
41220000 
01781FB4 
00001883 
12334770 
B1F85034 
00041E25 
03A25800 
OOOOOOOO 
B0100028 
07F04110 
800C0000 
<U40F033 
00001ABC 
000053A0 
O00052F8 
00000180 
4730F026 
00015CA0 
F09618CA 
F0568800 



OOOOOOOO 
14FC13FC 
00005144 
FFOOOOOO 
15740000 
OOOOOOOO 
FFOOOOOO 
15040000 
OOOOOOOO 
OOOOOOOO 
00000002 
OOOOOOOO 
98016034 
50F10014 
0560582" 
70005840 
05E01BFF 
B000100R 
91401013 
00205010 
078C47F0 
05B01820 
05B04140 
129947A0 
000047F0 
10225833 
47F0B0A4 
B0C4187A 
58A30004 
00001576 
03A25821 
00049101 
587004B4 
58410004 
41624000 
B1A61B55 
00005024 
50230004 
04B4181C 
05F05 8C0 
021FC030 
00F241E0 
58C00010 
071F9680 
00040022 
00000010 
6000509E 
05F05890 
5500F086 
F08E5DA0 
8CC00004 
10001800 



OOOOOOOO 
FF009598 
15201284 
OOOOOOOO 
FFOOOOOO 
15980000 
OOOOOOOO 
FFOOOOOO 
00901000 
OOOOOOOO 
OOOOOOOO 
OOOOOOOO 
0A0A0203 
50E50058 
40045890 
70005010 
9RC0E09? 
4770E00C 
071C98A8 
F0860AOA 
F044411 I 
41C00808 
00201FB4 
BOAC9700 
R08658A3 
00001876 
18195037 
18561863 
41423000 
4740B110 
00005891 
002147F0 
58370018 
4560B120 
47F0B1B4 
15784780 
00045047 
07FA06C0 
89100008 
04B491F0 
01FC4810 
03A247F0 
53CC003C 
C0894110 
40001ABE 
00005418 
0001FFR8 
30585809 
4740F02A 
F092180B 
4810F060 
47F0F030 



150813FC 
00009SBC 
FF01F408 
155C"00H 

OOOOOOOO 
FFOOOOOO 
15BC0000 
OOOOOOOO 
OOOOOOOO 

oooooooo 

OOOOOOOO 
042O0000 
101C501C 
98015070 
501C1222 
200094F0 
13*04114 

1RRR43B1 

100050AB 
05E0989F 
0001F500 
18904560 
92OPR087 
B07^47F0 
0004419A 
470080A2 
00001B55 
583300O0 
189347FO 
17274730 
00088990 
81501299 
413300O0 
58440000 
58530004 
B1D71567 
000007FA 
06C006C0 
43100023 
025F4770 
002A41E0 
F02C41E0 
9108C03D 
F0901311 
OOOOOOOO 
0001F3A4 
00005282 
00005E09 
5EO0FO8A 
8A100001 
12BB4780 
C617713B 



FF008B48 
14F0132C 
1001F45C 
FFOOOOOO 
15800000 
OOOOOOOO 
FFOOOOOO 
FFFFOOOO 
OOOOOOOO 
01100000 
00010000 
00404000 
5015001C 
OAO30700 
47706020 
9014D600 
00245811 
001487RD 
00005084 
F01F1BFF 
FF040009 
B1401241 
920OR0FO 
B05092F0 
30O0152A 
58610004 
41A03UC 
12334760 
B07A470" 
R05047F0 
000841C0 
4740R20C 
58E30004 
41A0R11C 
1E531554 
4730R20A 
50380000 
06C05870 
8910000C 
F04891F0 
0448180C 
029C4U0 
4780F016 
07FA9760 
00004CD0 
0000000 I 
50002002 
000458A0 
17114760 
4780F0~>0 
F07C4910 
39E0DEC.^ 



00008R6C 
FF01F44C 
15440000 
OOOOOOOO 
FFOOOOOO 
15A40000 
OOOOOOOO 
FFOOOOOO 
OOOOOOOO 
01000000 
OOOOOOOO 
40000300 
02091008 
30040040 
920C5009 
90141000 
00001211 
F0384281 
00041000 
90AB0020 
40002F00 
47B"B134 
58410000 
B0731B88 
4720B0BA 
50960000 
1RPF47F0 
B06412R8 
B20691C0 
B0D89120 
080B91C0 
119C4150 
07F658E0 
41500007 
47C0BIC2 
4780BIFA 
5E270004 
04B491AO 
58C 00010 
03474770 
8910000C 
00F147F0 
94F7C08D 
C9C5C5C1 
00000001 
00004B18 
OOOOOOOO 
00508AAO 
F0365810 
41100020 
F09A47B0 
00030040 



153813FC 

000029B0 
FFOOOOOO 
15680000 
OOOOOOOO 
FFOOOOOO 
15f:80000 
OOOOOOOO 
"0000000 
00000010 
25000000 
00000220 
60300600 
00000020 
41205060 
181AIBFF 
4770E01C 
001412B8 
4A010010 
91F09012 
000003A2 
92F08087 
45608120 
1B771222 
4700B0B4 
91C01008 
BID21886 
4780BOFC 
100847E0 
100847E0 
10084740 
00071A25 
1OO858F0 
14544770 
18871873 
1222078A 
187847F0 
70104750 
58CC0034 
F03C58BC 
5610F05A 
F02C0000 
07FF9180 
E305E7E7 
000048BC 
7000A3AA 
0A220A03 
0001 1F0A 
303807FE 
920AF099 
F056970C 
024AE062 





OOH60 


OOOOnOOA 


00130000 


05F047F0 


FOOAOOOO 




00 IB 80 


C01F47R0 


F02A5R00 


^0264100 


0FO107FO 




001 RAO 


4 770F066 


501C0010 


9621 CO 10 


680C0018 




001 3C0 


0024020? 


0025F09R 


9200002? 


93010400 


Q 


OOlrtEO 


92H0R01C 


20 3QO9C 


30140202 


B015P09B 


—i 


001 COO 


00001869 


OOOOICOR 


OAODOOOO 


00000000 


— 


0OK.20 


13665F60 


P 1061366 


5F61 OOOC 


47^0F0?0 




001C4C 


000*9680 


10005560 


F0420762 


41FOF048 




001C6C 


07A25850 


001 05« lo 


F 19A9867 


IO045067 




OOICR^ 


F03C1861 


41 1-M060 


187F1B00 


040?18F7 




001CA0 


F0730203 


1003F126 


02021001 


1^A50?03 




ooicr.o 


001818^1 


41110060 


13115360 


S 00405 P 5 




001CP0 


6F6°iFl8F 


1F665P60 


00505Of,0 


0050607O 




ooinon 


FUF1R81 


58830004 


9SPFR00C 


4730F0C4 




001)20 


F1921 277 


4 7 A OF 004 


IR7747F0 


F0n61P74 




0010 40 


45?0F 124 


182 347F0 


FO7f0?O3 


Fl 1A6038 




001060 


02036038 


F 1 1A0203 


100CF122 


47F0F0E0 




001080 


00CF400C 


05009l«0 


10000732 


58410OOF 




001OA0 


5F40D06? 


504 1000C 


41 50006A 


685^0^04 




ooi or o 


501 SOO^R 


^0160004 


947F1000 


07F7125S 




0010FO 


30 5 04 7F0 


001F0294 


3134384F 


oooooooo 




001F00 


04000C0O 


00OHE10 


OOOOIOFO 


3134R84F 




00 IE 20 


00001F10 


"FFCFFF 


06F068A4 


n07Rl2A^ 




001E40 


FO0A58O0 


305RS300 


0O503A00 


"OOI 1300 




01 p 60 


1211 4780 


F04C9283 


A000181 * 


5820F1CF 




001F30 


OSF09HO 


5 02 047C0 


F0321821 


l*991BU 


> 


001EA0 


200O4F05 


00605CC9 


F1621E10 


41220002 


Oi 


001EC0 


4700P046 


6R10F15E 


5C0OF166 


5O00F15A 


CO 


001EE0 


00608Ano 


000U30O 


5F09O0O0 


5FO90004 


en 


001F00 


16QA4740 


F0861F0A 


1F104730 


F03E1F1A 




001F20 


^1802000 


4710F0C0 


9OF55060 


18A5181? 




00 IF 40 


F0D09U0 


200047C0 


F^009140 


200B4710 




001F60 


4780F0F2 


4710P0EE 


96R6?00O 


47F0F0P6 




001P80 


41000000 


12D0478O 


F1326002 


001C58A0 




001FA0 


55002064 


4740F132 


11101RAF 


0A0A18FA 




OOIFCO 


A0004 7CF 


00004110 


A0600703 


A060A060 




001FFO 


0083D5FF 


C612213B 


00057F40 


00^01770 




002000 


05F01200 


078E92FF 


002058B0 


FO?Fqi40 




002020 


42210000 


96P01000 


1B66606B 


000007FE 




002040 


08090A08 


0C000E17 


0F10181Q 


111AIB1C 




002060 


130029?A 


2B2C0214 


15160220 


022F0200 




002080 


0006C800 


20380020 


00002463 


0^222000 




0020A0 


E3001788 


001AC800 


16690016 


AO000F98 




0020C0 


1E350000 


08415861 


01C45FBI 


C200C171 




0020FO 


09C06007 


06414RF9 


040150R2 


04805261 




002100 


024199D9 


01011BA6 


01 02 IE IE 


0BC242A1 




002120 


0AC15CF9 


06806007 


0CC10401 


0980F0O7 




002140 


02075010 


O0204130 


000753A0 


024814RA 




002160 


13000A0A 


12FF4780 


C04863FO 


40189602 




0021 80 


5 0AOIOOC 


4 OR 01 008 


92C0100A 


9262100B 




0021A0 


07F24RA0 


025C1FAA 


1EAA5EA0 


C0045860 




0021CO 


06R818D6 


9869C00R 


38000003 


413007FF 




032 I EO 


900E1000 


5090100C 


15E84780 


C0PC18A5 




1A59 on 


«;«Aosoor 


06 FA A 03 


OOOOODOC 


000020C4 



00001 A58 
OOOOOFFF 
9200O?6B 
98A0F08A 
47F0F066 
05F09180 
IB665061 
47F0F07C 
00045076 
181647F0 

ioocioic 

18179683 
F18E47F0 
5878000C 
5070F 192 
4F60F116 

oooooooo 

1 8645850 
5545000C 
4740001A 
OOOOOOOO 
45000000 
4760F010 
5F090000 
58F0F1O2 
41A00004 
47F0FO16 
1FU9140 
5ED90008 
5510F 16? 
5820F176 
F1549240 
96882000 
501CO203 
50102064 
41000001 
00900064 
1000077F 
000004*0 
IOIE001F 
002F02OO 
17A80019 
00366900 
08016007 
04005FC1 
0BC34A19 
0641D399 
17AB41B0 
401D5P10 
023F1020 
A0004260 
14B01708 
05860 OOF 
00002666 



90AOF08A 
9180C01O 
91F00347 
07FF58BC 
OOOOOOOO 
10O00782 
000C9845 
OOOOIOFO 
00085871 
F0784740 
5071006C 
10005810 
F0009101 
1P745078 
18775070 
41660001 

oooooooo 

00503A50 
47200026 
5E400062 
OOOOIEOO 
00001F18 
IB0047P0 
13005E0A 
05221310 
41B00010 
581 10000 
60204780 
53A0F162 
4740F09A 
53P0F17A 
20000400 
96802000 
2010AOIO 
181218A2 
0A0107FF 
OOOOOOOl 
960 I 50 1C 

oooooooo 

20212223 

00000730 
000024A9 
39CF003A 
0900E007 
02C00CC7 
0BC45136 

oooooooo 

BOOBillB 
F0044110 
40305050 
024B48DO 
33000003 
9610500A 
00200100 



18C041CC 
4770F03F 
4780F06C 
00000200 
00004COO 
58600050 
10045045 
05F0586O 
00009106 
P^9C9liO 
50110068 
F19A5871 
10004710 
0O0C47FO 

F18E18R2 
4F60F116 
3184884F 
00011F45 
58650003 
50400062 
000010F4 
OOOOIEOO 
P04C9183 
000C4730 
O7FE2OF0 
869AF03A 
4780F050 
F08E5890 
47C0F07E 
5810F162 
052298F5 
20005020 
5012000C 
96102000 
58203068 
729FG338 
00001C36 
43210000 
07FF0103 
24262600 
02003100 
0024A900 
490039E7 
03C15EEI 
03015BC7 
0BC14491 
4 7A0C06A 
lElllEll 
10201B00 
IOIC5010 
00224520 
40801018 
98015020 
F3F0F5CI 



'AGE 0007 
00009180 
9120C010 
02O3H00C 
OO10B01C 
00000180 
8A600001 
00045054 
00501266 
10O047C0 
10004780 
IB775071 
O0OC1867 
F0F05840 
P0AA5870 
96801000 
960FF110 
C612213B 
47400048 
90661004 
1F665060 
OOOOOOOO 
C612213B 
A0004710 
P0361B00 
9240E001 
F2715060 
5910F15F 
30585800 
47F0F084 
58240078 
A06047F0 
91035020 
58060020 
41000048 
05229106 
00989680 
00001C12 
50510000 
04050607 
27280212 
00000032 
24A90016 
001F2800 
09816007 
0640F007 
01415A01 
4120C0C0 
41OH000 
5000F000 
40001851 
C00845F0 
40B0101A 
980^5054 
00002070 



Q 



I 
CO 

o 



002240 
00 27 60 
002230 
22 AG 
O022C0 
0027F n 
002300 
002320 
002 3 40 
00? 3 60 
002380 
O023A0 
0023C0 
0023F0 
00 2400 
0O242C 
002 44 
007460 
002480 
0024AC 
0024C0 
0024EO 
002500 
002520 
002540 
002560 
007580 
0025A0 
0025C0 
0025FO 
002600 
002620 
002640 
007660 
002 6 80 
0026A0 
0026CO 
0026E0 
002700 
002720 
007740 
002760 
002780 
0027A0 
0077C0 
0027E0 
007800 
002820 
002840 
002860 
002880 
0023A0 
007 SCO 
0028E0 
002 9 00 



98O2E003 
C1549510 
12BB4770 
50004000 
50284800 
F0589OQI 
5890C008 
A0139873 
58FQA00C 
478HC754 
00601201 



00007380 
471OF037 
189907 C P 
O2T15018 
A00A4710 
D200A014 
91805008 
47C07080 
07075010 
710448">? 
71044108 
744F9140 
71 729704 
72944104 
0001428A 
000441 AB 

00 105843 
71E28799 
720C4160 
97Q9724C 
6020*000 
0207601C 

1 9C 1 8 E F 

oo 1 091 rs 

88000001 
7480OA0A 
50C60010 
601C9102 
73AB47F0 
87997360 
0200A003 
0000 4136 
59507484 
A0006015 
60374770 
60 3 21816 
773805FF 
0101411F 



50000024 
A00A4770 
C13A0203 
91C0AOOA 
A0088900 
P04847F0 
O588O0OE 
100458^0 
50F00024 
588OA018 
58101004 



9830403C 
C14E94FF 
40680014 
4770C178 
000318 1 A 
044805^3 
980F5070 
024C58B0 
41F0C0CF 
581OB000 
4 7 70C7 08 



82000020 
A00A58B0 
94BFA00B 
O607A00B 
0A0A9100 
COOCOO^O 
0AO1910C 
C000186A 
58O0A0O0 
5010A01* 
023P4030 



18A5580A 
AC184100 
15D44770 
9177A003 
000A4710 
4780C19F 
A0^34730 
058B18C4 
91010021 
950CAO09 
A0704 7F0 



001C91C0 
80089220 
CI 689640 
4780C196 
C18218F4 
92010248 
C2285810 
58C00244 
4770C224 
47C0C24A 
C1541299 



A00A4740 
B0120A09 
401D1B11 
4740C18A 
9809F030 
18504520 
AOIR4870 
18A61217 
92000070 
O203B000 
4770R00A 



•AGE 0008 
C1064770 
58BOB020 
06100AOO 
02334038 
0217F030 
C00E1RAD 
10005070 
4780C254 
82000020 
A06050BA 
58900484 



55708016 


072A1877 


O7FA00OO 


OOOIPPFF 




0A2307FF 


OOOOOOOO 


00000480 
000038E0 


000004C8 
000011FA 


000^2940 


00003530 


oooooooo 


000010FO 




O0002396 


0000397C 


000O1206 


~> 00 006 9 A 


00000000 


00001368 




0066179F 


00004318 


O0004C6 


00004C78 


000O0FFF 


r > n ^7656 


0V03O7FF 


00007970 


CVT 


000010F3 


0OP036C9 


00004C40 


00004C50 


00001084 


0OO01O36 


000015E? 


0O00362C 




000014^0 


00001050 


00004COO 


00003208 


0000 044 8 


0000! 1F7 


0000048A 


oooooooo 




0OQO2472 


oooooooo 


00000180 


0001FFFF 



OOOOOOOO 
91 908 000 
OOOOOOOO 

2O10O200 
744E9140 
501A020? 
4780708? 
02035004 
20109190 
00088900 
00090A0Q 
A0084710 
71510502 
0024583C 
O00CO202 
00080507 
00005844 
71FA9200 
75330>00 
98015000 
73AB5016 
A000O203 
12FP4770 
60324770 
99000003 
1AA1071P 
92FF6010 
60784730 
73929700 
41B07733 
6^270203 
004058PO 
478073C8 
91C0603? 
744A47FO 
5 800748C 
0A0341FE 
01068910 



OSFOISA^ 
4780F02A 
19761863 
5O1A2014 
A0OB4770 
A01PS010 
Q68OAO0R 
30544580 
200347R0 
00034112 
47F070F0 
710C47F0 
3 05 5 50 05 
0000903C 
5021 AOOO 
AOOCCOOO 
OOOAIBFE 
10090 A04 
60000263 
37997228 
00001200 
601874AC 
743ER799 
72A641C0 
180CIA00 
AOOOAOOO 
4A007294 
73280202 
60770207 
50360010 
AOI86O35 
748005EF 
9RQ000^1 
478073E8 
742^1 10 
^>A0A4780 
010041FF 
000C5610 



IP3147F0 

58030000 
5R75001C 
47P07092 
703041B3 
41 AAOOOO 
947F5003 
71060008 
70CA9680 
OOOOOAOA 
4590713C 
704F10F0 
4770714C 
A00050AB 
<*? r >05020 
07885838 
18634898 
92801009 
97F0076B 
9R015060 
47A0775F 
41060018 
73549102 
00701800 
1 A0B1BAA 
49C07293 
06 008800 
^0014029 
602AA000 
02076001 
505074R4 
982A610C 
47F07394 
9610A0TR 
60324780 
742E4100 
010041EF 
74901963 



F0124700 
9400001C 
13FE9S07 
4590718C 
005O5035 
50A5001C 
98015020 
9600AOOA 
500R943F 
91 102 00 A 
47F07H2 
54007430 
92107151 
000450AC 
47F07088 
00004 7F0 
00004899 
5860749* 
47F07210 
18300227 
47F0728? 
902A610C 
60374780 
91206032 
58107480 
477072F0 
0O039799 
91016028 
02096032 
30553000 
59B0747C 
13FE12FF 
9610A00A 
91FF600C 
74164116 
74B31BU 
10041 EE 
478H747A 



F00A4190 
50AB0000 
70134770 
47F07036 
00599640 
0202A015 
53F5O05C 
47F0706C 
200B41B7 
47307104 
458071C6 
160F9001 
458071C6 
000041AA 
58C50000 
71940570 
74968990 
12FF8799 
9200600C 
601CB000 
800073AB 
53B30O5C 
744253B6 
478077BC 
9799720A 
96F0A00A 
73100600 
47807336 
74AA0203 
73683799 
D707R000 
4770745A 
58B0747C 
47307407 
00000201 
0A098799 
010041EF 

91FF600C 



00081BF9 
964OB000 
71760207 
458071C6 
A00BO2OI 
A00OO203 
0A031 8A7 
91C02O0A 
00009170 
58BB0018 
000691F0 
50004580 
00109620 
000R43BA 
58B40024 
41B001B0 
00104110 
71F64770 
4186001C 
8799723A 
8799733F 
41060040 
003488B0 
43060031 
41A00003 
1ACA50C6 
400A0008 
02076001 
6035A018 
73920203 
B000902A 
900073B1 
O207B000 
0200026B 
600F7546 
8002581A 
00FE41EF 
4780747A 



91408G00 
947FB000 
5000F000 
000291E0 
A0105018 
505CA014 
9100200A 
47707456 
200A4710 
12BB4780 
A00A4710 
718C47F0 
A00A4BA0 
000C41B8 
12BB4788 
IB7B5830 
748C8799 
74464780 
50B60008 
0203A004 
58130054 
05FB982A 
000841CO 
41000003 
1A0A5600 
00041AC0 
O207A0OO 
30098000 
41B078C8 
A000602A 
610C4116 
879973D6 
A0000202 
60009130 
OA309120 
001841FO 
010141EE 
02000268 





0029^* 


600O0A00 


00002214 


00003 I F8 


0001F3AO| 




oo?9%r 


40FF063F 


40FF683F 


75BF767F 


7CFF2C7F 




002960 


C9C5F6E2 


F9D6E5D9 


00008000 


00002974 




002980 


oooooooo 


01000000 


oooooooo 


0^002940 


Q 


0079AO 


00090258 


00*08000 


000029BO 


12000000 




002 9C0 


oioooooo 


oooooooo 


OF00797C 


04003550 


— 


0029E0 


0000297C 


OOOIFO^O 


000079FC 


FF000001 




002AO0 


FlFQC3r& 


oooooooo 


00000015 


0«000OO0 




002A20 


31002A7F 


60000005 


030O7A70 


oooooooo 




002A4C 


06^^03^ 


OOOOOOOO 


9< I *02A87 


400O0008 




902A60 


7F002A58 


00002448 


oooooooo 


40002A7O 




02 A 80 


OFOOOIOR 


OOOOOOOO 


0F00010B 


00003000 




002AA0 


0001POAO 


oooooooo 


80O032F0 


0*000001 




002AC0 


06000400 


40000080 


00030080 


oooooooo 




002AEO 


OOOOOOOO 


oooooooo 


oooooooo 


oooooooo 




LINES 002800 


-002R80 SAMF AS ABHVE 








0023AO 


oooooooo 


oooooooo 


OOOOOOOO 


oooooooo 




9023CC 


00007^38 


00 00 180 


0O01F3A0 


00O029E0 




0023E0 


^8A10004 


4371*007 


58800010 


9674AOO0 




002CO0 


5 3 4A'^08 


^B40F148 


O14OA000 


4730F03R 




002C20 


91O2A0OC 


4780P^F7 


5R230070 


1^004307 




002C40 


2008QLOA 


70134710 


fo 72 <n or. 


A0074750 




002C60 


021C0742 


00B62F30 


0S7F/\004 


4770F13F 




002C80 


4710^136 


911040OR 


47 10F136 


9610A003 




002CA0 


47F0P0DA 


58DA0014 


9620002C 


124447C0 




002CC0 


0A03189F 


58F80044 


05CF1A0A 


1**3170E 


> 


002CE0 


O610002C 


47F0F0CC 


580A0014 


943F002C 


Ol 


002D00 


9110A008 


4 7 1 OF 1 2C 


0A0F0AO3 


410000FF 


CO 


002020 


00F058F8 


002C07FF 


0008000A 


961OA000 


"VI 


002040 


9601A008 


9604A008 


410000FD 


58F8002C 




002060 


A0084LOO 


070907FF 


0008O001 


OOOAOOO* 




002080 


455O0060 


02150177 


C3C94550 


00605843 




002DA0 


471OC036 


5844001C 


4144*020 


02060176 




0020C0 


4550C346 


45500060 


02070176 


C3F64190 




0020E0 


45500060 


92F 00170 


9108B000 


4710C03E 




002EOO 


9102B000 


4710CU2 


58330000 


17334780 




00 2E20 


C13E1832 


58220000 


47F0C0A4 


583A0004 




002E40 


01701823 


533A0000 


19734780 


T0FA5973 




002F60 


5A880004 


18931398 


47F0C0C8 


18325A88 




002E80 


't550C162 


1BK84550 


01180857 


01531255 




002EAO 


18150A0A 


410001FO 


181D0A0A 


18F80A03 




002PC0 


CU4588A 


0004539A 


00081B98 


4S50C16? 




002EEO 


070 3D14 3 


01481353 


5450C3P2 


1O584780 




0O2F00 


01 48 IB 44 


504 0C3AF 


40400146 


40500144 




02F2 


535001 64 


07P53870 


00021897 


4550C30F 




002F4C 


48700144 


06704070 


01444870 


01481277 




002F60 


01441777 


4 72 Of. 7 3C 


47F0C1A4 


5330013C 




002 p 80 


014C4120 


01 4C 240 


01710276 


ni770171 




002FA0 


C33 6F3 64 


017C2000 


OC05017C 


f 2A8D20O 




002FC0 


5A70013C 


5070013C 


07F40204 


01 77C336 




002FEO 


50^0014C 


412 001 4C 


F3540184 


20000COS 




003000 


314AR960 


00055A6O 


013C5850 


013C5B50 




3070 


12884770 


C2BC4540 


C1FA47F0 


CI A44370 




003040 


4 7FOC73C 


4 8 700 I 4 A 


12774780 


C7F44540 




003060 


014A47F0 


C2F44550 


C30A4550 


00604380 



0001EE93 
0700C350 
12000000 
04003550 

oooooooo 

T000L37C 
FF01F030 
0000CB78 
08007A40 
O600OOOO 
000O797C 
OOOOOOOO 
4000734C 
OOOOOOOO 

oooooooo 
oooooooo 

000024A8 
91COAO0O 
504A0O18 
00094C00 
F136189F 
94FFA000 
0A0F0A03 
P0B44144 
192C7F16 
94DAA000 
58F8007C 
950CB0^0 
07FF0008 
05C 09240 
00004133 
C30F4L00 
0O09413O 
588B00O4 
C1505823 
19834720 
00004780 
0004598A 
4780C137 
IR38589A 
47F0C112 
C1881R78 
17554770 
45500060 
4780C1FC 
4R90014A 
4870O14A 
D182C3BB 
F3640170 
D184C2A8 
C3AE051F 
014A4177 
C1FA438D 
014406R0 



000002O0 
00O10024 
OOOOOOOO 
C000132C 

oooooooo 
oooooooo 

0001F0B0 

oooooooo 

60000005 
20000100 

oooooooo 
oooooooo 

000031F8 

oooooooo 
oooooooo 

oooooooo 

800025F8 
4710F13A 
96*1*000 
F14AIA70 
53F80044 
927FA004 
957FA004 
0008504A 
94OFAO00 
9200A003 
07FE9601 
4770F15C 
00010006 
01701837 
00185833 
00084180 
00004160 
589B00O8 

00001222 
C0001893 
C0EC5833 
0OO847A0 
18754100 
00084550 
50500164 
18754070 
C1C64370 
47FOCIAF 
IB8840R0 
06908900 
06701277 
45500060 
70000C05 
0200018A 
50006000 
00014070 
01441288 
40800144 



00002930 
80000000 
OOOOOOOO 
00000017 
OOOOOOOO 
00000016 

oooooooo 

00060000 
9E002A37 
7F000000 

oooooooo 
oooooooo 

FFOOOOOO 

oooooooo 

000*0000 

oooooooo 

7FO0000O 
9110A01O 
9101A000 
06002003 
05CF068C 
47F0F13F 
4770F11C 
0018927F 
0A0F0A03 
47F0F120 
A0089604 
9237A013 
00009244 
58B0013C 
000018*3 
0000416O 
01841876 
4550C162 
4780C0RA 
18984550 
000047F0 
C112589A 
00008900 
C1674180 
50R0013C 
01485850 
01461277 
4550C30A 
014847FO 

00055A90 
4770C258 
487D014A 
017OC2A8 
C3BB47F0 
4770C202 
014A0630 
4780CIA4 
47FQCIEC 



^JB045FF 
T?f707456 

OOOOOOOO 
0000005? 

oooooooo 

00090064 
C9C7C7F0 
O0F0O018 
A0000008 
02000000 
OOOOOOOO 
000029FC 
00040000 
OOOOOOOO 
OOOOOOOO 

0001F498 
OOOIFOAO 
4710F038 
4710F136 
A0029470 
03BA010A 
9108 AOOC 
94FFA000 
A0040AOF 
58OA0014 
940FA000 
A0084100 
0A0F0A03 
A0049608 
9239005C 
9102B000 
01841876 
4550C346 
92F00170 
19234720 
C16292F0 
C00C1882 
00031B98 
00181607 
001047F0 
509001 40 
01404A50 
4770C1B4 
45500060 
C2024870 
013C5080 
02030177 
89700005 
92600183 
C242486D 
48800144 
40800144 
1B884080 
41900008 



Q 



> 

CO 
00 



003C30 

0O30AG 

003 0CO 

3030E0 

003100 

003120 

003140 

003160 

003180 

0031A0 

LINE 0031CC 

0031F0 

003?00 

032 2C 

003240 

003260 

003780 

0032AO 

0032C0 

0032E0 

03^00 

003370 

003340 

3360 

003380 

0033AO 

00 3 3C0 

0033E0 

003400 

342 

0344 

003460 

003480 

OO34A0 

O034CC 

0034E0 

003500 

003520 

003540 

003 560 

0035B0 

0035A0 

0035CO 

0035E0 

003600 

0^3620 

003640 

003660 

003680 

0036A0 

003 6CC 

0036FO 

003700 

003720 

003 740 



586D013C 
C2A80205 
581A0008 
41440004 
C35C0O08 
30000020 
C1E340C5 
20105000 
OOOOOOOO 

oooooooo 

SAMF AS AB 

oooooooo 

41000001 
5021001C 
30005030 
929F3028 
58008004 
47804004 
18114319 
9801900C 
50703020 
91019016 
92063030 
4153 c >140 
0A019120 
91023098 
302492FF 
92063^70 
41100010 
9101309H 
5 030 3010 
O2003^5C 
18725880 
30A81801 
1BAA50A0 
91021000 
478 n 4?14 
91209016 
433C5819 
00003592 
30200205 
08060000 
C03A4130 
800092F1 
OOOOIOF^ 

oooooooo 

0F00367C 
OOOOOOOO 
47A0C058 
181R0203 
0A0341E0 
QO045832 
1E2D1 140 
986RO000 
00001800 



4B600148 
0L77014C 
^R10C3AA 

41P80001 
16213846 

FFFFFFFO 
08E309P8 
997A1R00 
33000180 
OOOOOOOO 
OVE 

oooooooo 

47F0401^ 
9204101C 
30080704 
02073018 
12004780 
9801^010 
0015 8910 
8O0O0010 
47F0410& 
47804178 
02073035 
30384710 
3 03 80 71 C 
47104297 
30985R10 
02023025 
4A10309E 
471041AA 
92083010 
3064939F 
00105-188 
4A00309P 
307094">f : 
478047F2 
91018000 
4780432E 
001CIA71 
18CC43C7 
7031C004 
00200001 
003497F1 
OOOOOOOO 
1000132C 

oooooooo 

000010FO 

oooooooo 

13110203 
30000174 
C04A1802 
00281208 
1 A 801 A 40 
417C00 04 
43000166 



506D0154 
48800148 
194147A0 
18674690 
515CF0FI 
03C905C5 
4OP3Q640 
O^0095A0 
OOOOOOOO 
OOOOOOOO 

oooooooo 

180QT540 
41 103038 
30044388 
30781810 
43104308 

8nooooio 

r >0024010 
43OP0008 
58 1P0070 
97003024 
439A4! CO 
41761810 
41PO00OF 
9101 3^98 
3 404117 
30A59203 
4A10309C 
91043098 
07FC909F 
3O7C0 7FC 
00181 B9P 
41 1 10004 
100043A1 
13C747F0 
471042A0 
02077000 
50750014 
003041CC 
47FE0008 

oooooooo 

80004030 
OOOOOOOO 
00000001 

oooooooo 

0000132C 
05C08000 
0168C234 
180158F0 
08F01R22 
4720F02A 
900R0108 
4A0C0000 
5810R02C 



41600134 
8880000? 
C382F384 
C3465040 
F2F3F4F5 
F240F2C1 
C1C2C505 
F0F1F97F 
OOOOOOOO 

oooooooo 
oooooooo 

96033O3C 
50103040 
02OF3028 
46104070 
00071857 
43090008 
303645C0 
45C0423E 
R«l 0000" 
Q?FP^098 
41320206 
4610416C 
07FF91FF 
471041AA 
10001871 
301047FO 
1912078C 
47104310 
307C5315 
OOO0392C 
C5A84730 
91F01O0O 
0O0083A0 
42F41AC7 
47F0429C 
50009110 
O7FE0000 
000142C7 
02002020 
OOOOOOOO 
21140277 
OOOOOOOO 

oooooooo 
oooooooo 

00000067 
C1F81820 
0207D16C 
805445 EF 
5020D164 
5880F1F2 
1R004120 
4780FIC4 
4170015C 



Boundary 
Box 



18765840 
IR981288 
014C4000 
013T.07FS 
F6F7F8F9 
04C54 0CI 
C409C5C7 



013CF363 
4780C34F 
DC07014C 
O203014C 
C1C2C3C4 
F240C1C2 
4HFQ60F7 



|0001FE40 00004COO 



oooooooo 

OOOOOOOO 

oooooooo 

50303040 
07013058 
4380n?03 
58750010 
45C0423F 
45C0423F 
423045C0 
41803020 
IA175010 
47F0413E 
30503065 
91FF8 00C 
30984710 
41F0OO0O 
45C04264 
413E4810 
411100^0 
41803028 
00005811 
1RA046A0 
428C41FQ 
477042FC 
000241*0 
5OC03070 
O2OORO00 
90164780 
00003564 
0030050H 
7030O7FF 
C14F92F0 
80028001 

oooooooo 

00090078 
OOOOOOOO 
0O050O67 
18314100 
20004100 
00041BFF 
12B14720 
92010167 
01384150 
182C.9200 
1830903F 



oooooooo 

OOOOOOOO 

oooooooo 

5070305^ 
305841 10 
30143004 
41770000 
45C04230 
41180008 
41425^78 
45C04234 
30209206 
9240^024 
920r»3038 
47104156 
431045C0 
07FF9104 
4A2030A6 
304A12U 
50103034 
48C04234 
002C4120 
427091FF 
000E07FE 
53210O00 
30731BRA 
44A0430A 
20000200 
432E9640 
0O003592 
30107030 
60000005 
80004830 
00050500 
01000000 
00O50400 

oooooooo 

00090005 
01784510 
016845E0 
182F4100 
F02A920? 
18C0906B 
O10RIR88 
200E4A2C 
000041FO 



014CO15S 
IR224328 
C2A8D207 
40004140 
C5C65040 
06E5C509 
09C5C740 
00020000*1 



oooooooo 
oooooooo 

05401851 
5817002C 
305F5"10 
41103067 
47F 04090 
47F04128 
50103030 
00000200 
91409017 
30200201 
4U03098 
41103C3C 
41103033 
41E60203 
30984780 
45C04264 
073C4120 
45C04230 
47F0413F 
30645PF0 
9010078C 
987A307C 
41272000 
44A04304 
t8Bl4llt 
20008000 
70009120 
0000359? 
07CE89C0 
089E0000 
21144B30 
C83245B0 
OOOOOOOO 
00030077 
OOOOOOOO 
00003628 
COIOOAOA 
C05E12FF 
01731810 
01675820 
00009803 
9008D138 
00024600 
F26205EF 



AGE 0010 
0C05D14C 
C3901A6? 
6000014C 
014C47F0 
00000004 
C5C7F240 
F860F1F5 
OOOOOOOO 
OOOOOOOO 
OOOOOOOO 

98795000 
41204344 
30009231 
50103028 
58780000 
91209016 
92063030 
80 079003 
47B040FC 
30269018 
50103030 
0A0080FF 
41000001 
30344399 
418A9200 
50103020 
01001821 
47F0413E 
41803030 
426005EF 
907A307C 
07FC4110 
45C04264 
58C03070 
00041910 
13FF060E 
90174710 
0000358C 
000441CC 
00400000 
C19F4720 
000035F4 
0F003580 
OFOOOOOO 
OOOOOOOO 
OOOOOOOO 
18011213 
4720F01A 
0A0A18F2 
F1DF5822 
F1E61E0D 
9202013C 
F068488C 
9RBF3000 



Q 



I 

CO 



003760 
003780 
003 7A0 
003 7C0 
0037E0 
003800 
003820 
003840 
003860 
003880 
0038AO 
0038CO 
0038E0 
003900 
003920 
003940 
003960 
003980 
0039A0 
0039C0 
0039E0 
003A0C 
003A20 
003A4H 
003A60 
003480 
003AA0 
OO3AC0 
003AE0 
003 8 00 
003820 
003B40 
003860 
003B80 
0038AO 
003BC0 
O038E0 
003C00 
003C2C 
003C40 
003C60 
003C30 
003CAO 
003CC0 
003CEO 
003000 
003020 
00*040 
003060 
003080 
0030&0 
003OC0 
0030E0 
O03EO0 
003E20 



1897L8A8 
471020C4 
06304A30 
14204122 

485CO00? 
42490008 
95020167 
47F0F078 
10004740 
41790000 
000C000E 
92000100 
IB0018DI 
18AA43A2 
43020007 
89C00004 
002E4740 
02052001 
438BC000 
00004C60 
181FU2F 
00001899 
005COA< n *3 
E906E509 
00003A68 
902047F0 
004RO207 
903A94F0 



00004780"! 



FF041003 

FFO^LOOA 
0004100A 
OOOOOOOE 
FF051000 
FP050O0C 
0004100A 
FF041000 
FF041001 
FF060192 
FF06000C 
FF04100A 
0000019? 
PF060192 
FF06019? 
00041003 
FF05100A 
0004100A 
0004100A 
0004100A 
0004100A 
^004100A 
0004100A 
FF05100A 
FF05100F 
FF04100* 



50800150 
41100138 
00004110 
200C8712 
4B50F 108 
46A0F17A 
076F4140 
4A9C0002 
F1AEO203 
188A9204 
0000026A 
40000008 
18CC43C2 
000443A0 
89000008 
1AC0430C 
F0484100 
0024078F 
06AA489B 

oooooooo 

057080FF 
43910008 
8910000C 

oooooooo 
oooooooo 

90180207 
905C0040 
904F58A0 
FF06000F 



5A90F1FE 
41000001 
00074100 
FOF40204 
4740FH2 
18AF48F0 
00FF9201 
9500900A 
01 741008 
016547P0 
00000480 
69000000 
000012CC 
00264CA8 
18FF07FF 
101F1RAO 
001046AO 
41 AOOOOl 
T00218B0 
0*80122 
70011883 
1BAA41F0 
5A107026 
O5A0^2O0 
C9C5C7E3 
905E0038 
58A004R4 
904C020F 
0001F^6C 



S0900120 
OA019160 
001P0507 
015F0100 
8744F128 
016412FF 
ni67S830 
4780F0E4 
58000174 
F1324180 
00002940 
400O0008 
473OF01C 
COQ21BB8 
18994390 
ROO00004 
F03741F0 
58800020 
4AR00028 
07*E5510 
1 86S48CI 
704A0A06 
OAOOOOOO 
AOOF41F0 
F30906E3 
4S90901C 
9*00A010 
A0009054 
0001F438 



400016E6 
700050F4 
500O22CF 
0001FC70 
4001F80< :: 
0001F80E 
S0002164 
6O0O3778 
4000378F 
0000378F 
0000378E 
40002784 

ooooioco 

00003382 
00003382 
4000253A 
70005042 
S000?164 
700022CF 
50007164 
700022CF 
50002164 
70O022CF 
6901F5CA 
690050E6 
400016E6 



0001F550 
00OOOIF4 
O0OO0148 
0000M88 
0001FC1R 
0001FC40 
FF0C0060 
OOOOOOOO 
00000001 

oooooooo 
oooooooo 

00000142 
O001P4AO 

oooooooo 

0001F3A0 
FFFFPFFF 
000001F4 
FF0C0080 
00000080 
FP000060 
00000060 
FF00O060 
00000060 
00000048 
0001F550 
0001F550 



O001F(S34 

0001F5E0 
0000500* 
OCOOOOO^ 
O001FC18 
08000000 
FFFFFFOO 
0001F4A4 
0001F4A0 
04000000 
04000O00 
80000000 
OCOOOOOO 
04000000 
0C0000F4 
00H04F58 
P0005040 
FFFFFFCO 
0001F4A8 
FFFFFFOO 
0O01FO48 
FFFFFFOO 
00Ol*=D48 
0001FO6O 
OOOOOOOO 
0OO1F634 



1S2F4110 
D1384780 
100090O0 
47F0F0A7 
18454440 
078E8820 
AIE24144 
47F0F13A 
4B00F214 
00011817 
3100015F 
08000118 
4A00002E 
43B20006 
101018A9 
IA018800 
000407FF 
4388001 3 
10A942A7 
B0OF47B0 
0002 8 8C0 
05701831 
00003A3C 
A^160A06 
02079074 
50609054 
077858A0 
50A0<*048 
08000000 



O13C0A00 
20C441F0 
4780F10A 
02029008 
FICP0200 
B02C0500 
00014240 
95FF10OO 
47A0F07A 
4 7F OF I PC 
40000005 
OOOOOOOO 
41000010 
UA84BA0 
410000F*= 
00084202 
1BFF189A 
41C0000F 
00064AB0 
B01A0A03 
000289CO 
121F4770 
00000000 
0AO34720 
00209610 
42A09054 
904841AA 
07F843B7 
8*A00002 



58F0710A 
0008074E 
4720F18A 
10084341 
900C0167 
20040166 
01669200 
4740F1AE 
95040165 
02009000 
08000108 
06000000 
46COF010 
00281AOA 
14004780 
00078800 
4A00O02F 
14BC05C0 
002642B2 
OOFFFFFF 
0OO241CC 
70129801 
80000000 
FF040000 
90769001 
94309054 
001055A0 



•AGE 0011 
91F0F001 
18C21R3D 
4371000B 
00081440 
43400166 
4720A168 
016518FA 
05061001 
4780F132 
iOOBOOOl 
OOOOOOOO 
00000100 
45A0F0AC 
89000008 
F02418C9 
OO084BO0 
42^20000 
58C0C024 
000407FF 
003492FI 
100858CC 
602058F6 
C9C5E6F2 
00003A4E 
907C4190 
02039058 
90504740 



I0000419Q 000Q3B00I I! 



488H0008 



Trace Table 



0004100A 
FF051003 
FF051000 
FF05000E 
OOOOOOOC 
FF051006 
00041004 
00000192 
FF06000E 
00000197 
PF060192 
FF041000 
FP041001 
00000192 
0004100A 
0004100A 
FF05100F 
FF04100T 
FF051008 
00041003 
FF051 006 
00041003 
FF05100A 
FF051003 
0004100A 
0004100A 



700022CF 
7000240A 
4001F98A 
0001F98A 
0001FC38 
70004E57 
4000268C 
OOOOIOCO 
0000378F 
000010C8 
0000378E 
4000335E 
40003382 
00OO10C8 
400028CA 
700022CF 
70005067 
400016F6 
49005086 
4000253A 
690050A6 
4000253A 
6901F582 
690024OA 
50002164 
700072CE 



00000080 
FFFFFFFF 
0001FC48 
0001FC78 
0001FC78 
FFFFFFFF 
FFFFFFFF 
0001FC40 

oooooooo 
oooooooo 

0001F4AO 
0000003C 
00000001 

oooooooo 

00000200 
00000060 
000001F4 
000001F4 
0000507A 
0O01F550 
0001F550 
0001F550 
00000048 
0001F550 
FF000080 
00000080 



16AB40A0 



00J1F4A8 
00004F60 
0001FC48 
08000000 
08000000 
00004F58 
00002934 
08000000 
04000000 
04000000 
OCOOOOOO 
0001F3A4 
0001F3A0 
04000000 
0001F328 
0001FD48 
0001F634 
OOOOOOOO 
OOOOOOOO 
OOOOOOOO 
0001F628 
0001F62B 
A901F580 
0001F630 
FFFFFFCO 
0001F4A8 



o 


— 1 


O 

-x 


Q 
O 

a> 


Ti 


— t 


-*- 


o 


O 


D" 


3 


a> 



r^ 



/r 



no 
Q 



I 

O 



003E40 
0Q3E60 
003E80 
003EAO 
003EC0 
003EE0 
003F00 
003F20 
003P4C 
003^60 
003F80 
003PAC 
003FC0 
003FEO 

004000 
004020 
004040 
004060 
004030 
0040A0 
0040C0 
0040E0 
004100 
004120 
004140 
004160 
004180 
0041A0 
0041C0 
0041E0 
004200 
004220 
004240 
004260 
0042 30 
0042A0 
0042C0 
0042E0 
004300 
004320 
004340 
004360 
004380 
0043A0 
0043C0 
0043E0 
004400 
004420 
004440 
004460 
004480 
0044A0 
0044C0 
0044F0 
004500 



FF05100A 
00041 OOA 
000C000E 
FF051000 
FF05000C 
0004100A 
FF041000 
FP041001 
FF060192 
FF06019? 
FF04100A 
00000192 
FF060192 
FF060192 
00041003 
FF05100A 
0004100A 
0004100A 
0004103A 
0004100A 
00041004 
0004100A 
FF05100O 
00041004 
00000190 
FF060190 
FP060190 
FF041000 
00000190 
00041003 
FF041007 
00041004 
00000190 
FF060190 
FF060190 
00041003 
FF041000 
FF041001 
00000190 
FF04100A 
00000190 
FF041001 
FF04100A 
FF041003 
FF051000 
FF0510O1 
OOOOOOOC 
FF051006 
00041004 
00000192 
FF060192 
FF060192 
FF04000C 
00000192 
FF060192 



700050F4 
5O0022CF 
0001FC70 
4001F80E 
0001FR0F 
50007164 
60003778 
4000373E 
0000378F 
0000378F 
40002784 
O00010C0 
00003332 
00003382 
40002534 
70005042 
50002164 
700022CE 
50002164 
700072CF 
50002164 
7O0022CE 
4901F586 
4000268C 
OOOOIOCO 
O0003382 
00013382 
7000335F 
000010C8 
6000253A 
60002FFA 
7000263C 
OOOOIOCO 
00003332 
00003332 
4000253A 
50007F0E 
50002FE8 
000010C3 
4000306C 
OOOOIOCO 
50002FF8 
4000306C 
40007DAA 
5O01F802 
4001F8F0 
0001FC38 
70004F5? 
4000268C 
OOOOIOCO 
00003 78F 
0000378F 
000032EO 
OOOOIOCO 
00003382 



000001F4 
00000148 
0001F3A0 
0001FC18 
0001FC40 
FF000060 
00000000 
00000001 
00000000 
0001F440 
00000142 
00000000 
00000000 
0001F3A0 
FFFFFFFF 
0OOO01F4 

FFooooao 

00000030 
FF000060 
00000060 
FP000060 
00000060 
00000043 
PF000060 
0001F3A0 
OOOOOOOQ 
0OOIF39O 
00000015 
000010C8 
0O01F7F0 
0O003124 
00003124 
00002A48 
00000000 
0001F640 
00003124 
00003124 
00000001 
00000000 
000001F8 
00005190 
00000001 
000001F8 
00000038 
FFFFFFFF 
00000001 
00005378 
FFFFFFFF 
FFFFFFFF 
0001FC40 
00000000 
0001F750 
00000000 
00000000 
00000000 



0001F5E0 
00005008 
0C0000E4 
0001FC18 
08000000 
FFFFFFOO 
00OIF4A4 
0001F4A0 
04000000 
OCOOOOOO 
80000000 
04000000 
04000000 
0C0000F4 
00004F58 
«0005040 
FFFFFFCO 
0001F4A8 
FFFFFFOO 
0001F048 
FFFFFFOO 
0001FD48 
8000018C 
00002934 
0C0000F4 
04000000 
OCOOOOOO 
00002A5C 
OCOOOOOO 
0000297C 
80002F74 
00002934 
OCOOOOOO 
04000000 
OCOOOOOO 
80O02F74 
00005120 
0000511C 
04 000000 
00005008 
OCOOOOOO 
00005304 
00OD51FO 
00005308 
O001FC48 
0001FC44 
08000000 
00004F58 
00002934 
03000000 
04000000 
OCOOOOOO 
04000000 
04000000 
04000000 



Trace Table 



FF051003 
FF051000 
FF05000E 
OOOOOOOC 
FF051006 
00041004 
00000192 
FF06000E 
00000192 
FF04000C 
FF041000 
FF041001 
00000192 
0004100A 
0P04100A 
FF0510OF 
FF041003 
FF051008 
00041003 
FF051006 
00041003 
FF05100A 
0004100A 
00041000 
FF041001 
00000190 



7000240A 
5001F98A 
1001F98A 
0001FC38 
70004E52 
4000268C 
OOOOIOCO 
000037RE 
0O0010C8 
0000370A 
4000335F 
40003382 
000010C8 
400028CA 
700022CF 
70O05062 
400016F6 
49005036 
4000253A 
690050A6 
4000253A 
6901F587 
50002164 
7000335F 
40003332 
0O001OC3 



FFFFFFFF 
r >00lFC43 
0001FC78 
0001FC78 
FFFFFFFF 
FFFFFFFF 
0O01FC40 
OOOOOOOO 

oooooooo 

OOOOOOOO 
0000003C 
00000001 

oooooooo 

O0000200 
00000060 
OO0001F4 
000001F4 
0000507A 
0001F550 
0001F550 
0001F550 
00000048 
FF000060 
00000020 
0000000 1 

oooooooo 



Last Entry | 0004100A 4Q0Q28CA 00000200 



►AGE 0012 
00004F60 
0001FC48 
08000000 
08000000 
00004F58 
00002934 
08000000 
04000000 
04000000 
04000000 
0001F3A4 
0001F3A0 
04000000 
0001F328 
0001F048 
0001F634 
OOOOOOOO 
OOOOOOOO 
OOOOOOOO 
0001F628 
OO01F628 
A901F580 
FFFFFFOO 
0001F3A4 
0001F3A0 
04000000 



V 



00000190 
FF040190 
0004100A 
0004100A 
00041000 
FF041001 
00000190 
0004100A 
0004100A 
00000190 
FF060190 
FF060190 
FF041000 
00000190 
FF060190 
FF04100A 
00041O0A 
1000000F 
FF051000 
FF05000C 
0004100A 
FF041000 
FF041001 
00000192 
FF04100A 
FF041000 
FF041001 
00000192 



OOOOIOCO 
30003374 
700022CE 
50002164 
7000335E 
40003382 
000010C8 
400028CA 
700022CF 
OOOOIOCO 
10002FF8 
10002FF8 
50002F0E 
000010C8 
10002FE8 
400020A6 
700022CE 
0001FC68 
4001F80E 
0001F80E 
50002164 
60003778 
4000378E 
000010C8 
40002784 
4000335F 
40003382 
00O010C8 



00002A48 
00002 A48 
00000060 
FF000060 
00000024 
00000001 
OOOOOOOO 
00000200 
00000060 
0OOIF640 
OOOOOOOO 
00005190 
000001E8 
000010C8 
00005378 
0000003 8 
00000090 
00005378 
0O01FC18 
OOOIFC40 
FF000060 
OOOOOOOO 
00000001 

oooooooo 

00000142 
0000003C 
0000000 I 

oooooooo 



O001F3281 

OCOOOOOO 

OCOOOOOO 

0001FBB0 

FFFFFFOO 

0001F654 

0001F650 

04000000 

0001F508 

0001F880 

OCOOOOOO 

04000000 

OCOOOOOO 

00005308 

OCOOOOOO 

OCOOOOOO 

00005308 

0001F038 

08000000 

0001FC18 

08000000 

FFFFFFOO 

0001F754 

0001F750 

04000000 

80000000 

0001F654 

0001F650 

04000000 



M 







Q 



> 

4^ 



0045 

0^4540 

004560 

04 5 80 

0045AP 

04 5CO 

0045FO 

004500 

004620 

104640 

004660 

004680 

04 6 AO 

O04 6C0 

046E0 

004700 

004720 

004740 

004 760 

004780 

0047A0 

004 7C0 

0047EO 

C04 8 00 

004820 

004840 

004 860 

004880 

0048 A 

0048C0 

004 8^0 

004900 

004920 

004940 

00496O 

004930 

0049A0 

0049C~> 

0049EO 

004 A00 

004A20 

004A4 

004A60 

004A80 

004A*0 

004ACO 

004 A EC 

0043 0O 

004820 
004840 
004^60 
004880 
0048A0 
0048C0 
0048F0 



FFQ60192 


00^03332 


0001F650 


0C0000F4 


0004100A 


400028CA 


p A G C3° 1 3 

00^0^700 0VllF508 


004 1 00 "* 


40002^3A 


PFFFFFFF 


OC004F58 


0004100A 


700O22C.F 


0000^060 


00OIFO68 


FF0510OA 


70005042 


000001F4 


R0005040 


FF05100F 


7000506? 


^0n001F4 


O0OIF634 


00O4100A 


50002164 


FF000080 


FFFFFFCO 


FFO41003 


400016E6 


000001F4 


OOOOOOOO 


4 1 o A 


700022CF 


00000060 


0001 p 048 


FFO51008 


49005086 


0000607A 


oooooooo 


0O041OOA 


5^002164 


FF00OO60 


FFFFFFOO 


00041004 


6000268C 


0^0OSC7A 


00002934 


FF04000F 


000026F6 


OOOOOOOO 


04000000 Trace Table FF041000 


60003773 


OOOOOOOO 


0O0052CC 


000192 


ooooior.o 


oooooooo 


04000000 


FF041001 


4000378E 


oooooooi 


0O0052C8 


F^060192 


000O378E 


00000000 


04000000 


00000192 


ooooioc* 


oooooooo 


O4O00000 


FCQ6019? 


0000378F 


000052CR 


ocoooooo 


FP04100A 


50002784 


80O000B4 


80000000 


FF041000 


7000335F 


00H0^03C 


0Q0051CC 


0O000192 


00001 OCO 


O00052CR 


OCOOOOOO 


FF041001 


40003382 


00000001 


000051C8 


FF060192 


O000333? 


OOOOOOOO 


04000000 


00 30 0197 


000010C8 


OOOOOOOQ 


040^0000 


FP060192 


r O0933«? 


OO^nsiB q 


ocoooooo 


000 4 I 00 A 


400028CA 


0O00O200 


0OO0M50 


00041003 


6000253A 


OO01FS5 


oooooooo 


00041 OOA 


700072CE 


oooooooo 


OO01FO48 


FF051 00(S 


590050/^f, 


00°iF c iSO 


00niF6?8 


Qno410 n A 


50002164 


PPO0nQ6n 


FFFFFFOO 


00O41003 


40^">2 c i3A 


00O1F55O 


0001F628 


00041 OOA 


7O0022CF 


00000060 


00O1FQ48 


FF05100A 


6^01F582 


00000048 


A901F580 


FP08100A 


6901F5CA 


00000048 


0001F060 


FFO51003 


6900?40* 


00OLF55O 


0001F630 


PP05100F 


690050F6 


OOnjPR^o 


OOOOOOOO 


0004100A 


50^07164 


CF 000 8 


FFFFFFCO 



OOOOOOOO 


oooooooo 


94FF7000 


96242000 


910*7008 


4710F05? 


91407008 


4730F2A4 


4710F332 


94FF200 1 


0501 7040 


70334770 


200107FF 


58000010 


59000070 


1*384337 


38A^O007 


43A70018 


8AA0O002 


8FA00^02 


189F5800 


001058FO 


104405CF 


032C0C46 


092COA06 


00BR2FI \ 


91807002 


4710F00C 


960L2008 


96 042003 


47F0F2SA 


96302008 


705A2002 


47F0F1FC 


91 107008 


4710F0O0 


4500F344 


91 01A0OO 


47R0F123 


963O?0lF 


91602OIF 


4710F000 


4102001F 


41000010 


42070034 


92007036 


96047001 


4500F352 


96042001 


918OA00O 


4710F74A 


9507AO00 


F3624AA0 


F368O707 


7044AOOO 


91F7A000 


50D20018 


96012000 


9108200R 


4710F1CE 


47FF000C 


910A201F 


4710F0O8 


4302001F 


96202008 


96402008 


96102001 


96017006 


41870054 


50870044 


92 167044 


92207048 


70089102 


70^C4 7C0 


F24A9208 


200147F0 


30084710 


F2C6910A 


703647C0 


F 16492 


F1649110 


70014780 


F78A924F 


200447F0 


940F2000 


94FF2001 


47F0F2C2 


9101200C 


F312943F 


402C940A 


200047FF 


00041333 


800047CO 


F 16443*3 


00094287 


003647F0 


20089213 


703C9220 


70409201 


70439MO 


4^8 70009 


4C*0F36A 


IA0B917F 


D0084730 


5530F360 


477E0008 


47FOF298 


5RA200O8 


70409205 


704307FO 


00003628 


00000720 


5 8 303OAC 


91403000 


071F13AA 


13CC58F0 


C9C5C1F0 


F0F00140 


40C9D5E3 


4009C508 


FOF0F04O 


4O40404O 


40404O40 


40404015 


40060540 


F0FOC340 


40404040 


4^4^4040 


40404040 


40404040 


404O4040 


40404040 


63108050 


8100E2F3 


C109E340 


40404040 


oooooooo 


00004C4« 


000OO26A 


oooooooo 


20 00 


7F004C14 


00004C03 


0*000000 



9107700C 
02067009 
F0C89170 
00094C*0 
48B00008 
07130136 
91 A0201F 
47F0F78A 
96102008 
43n200lF 
42O20OIF 
450CF344 
4780F798 
4780F134 
91102001 
41000001 
41R7004C 
92047048 
F1644307 
703643D7 
F2985800 
4710F28A 
43320020 
F26A4302 
20019601 
F2BA9101 
41AAOO00 
0003000A 
F01C07FF 
404040F0 
C9C5C6F2 
40404040 
40404O40 
40404040 
0000026A 
4-0004C00 



4710F05C 
705C0201 
20084730 
C36A1 AOB 
16AB40A0 
02540462 
4 7C0F2FA 
47F0F10C 
47F0F1C0 
41O0O001 
47F0P1C0 
S0A70044 
530A0O00 
50A70^44 
078F9601 
4202001F 
50B7003C 
47F0FIR4 
003641OO 
00344100 
00100502 
53000010 
89BOO0O4 
OOIF4100 
700647FO 
2008471 
43A0F363 

oooooooo 

00002472 
F0C540F0 
F3F7C940 
40404040 
404O4040 
40400000 
00000180 
00004BF0 



9l71200n 
20O2705A 
F2309497 
48A70016 
000R94BA 
0588OF3A 
91107001 
0206705C 
910A201F 
4202001F 
43070034 
47FOFIB0 
020570*1 
92087044 
20005800 

910??0O3 
4500F357 

07037033 

00014207 

00014207 
O0552015 
05020055 
41BB3020 
00104202 
F1B458O0 
F0FQ02O3 
07F0921A 
58B00010 
0O360000 
F040F0F2 
09C5C1C4 
40404040 
40404C40 
00005370 
00000180 
OOOOOOOO 



4750F27A 
91042008 
200894FF 
8EA00002 
000918A2 
0023063A 
4710F282 
20090201 
4710F000 
47F0FIC0 
41000001 
4500F344 
D00045D0 
4107003C 
F36405C0 
4710F0C8 
94EF7040 
705494BF 
00369104 
003447FO 
4760F32A 
20154760 
05007036 
001F9608 
00701BBB 
20187040 
703C9270 
58B0B03C 
00320000 
F0F040F4 
C 5094040 
40404040 
4040EOFO 
40000000 
80004090 
OOOOOOOO 



T3 

Q 



CTi 
I 

ro 



0O4C0O 
004C20 
004C40 
004C60 
004C80 
004CA0 
004CC0 

004CC0 

004CF0 

004000 

004020 

00404 

004060 

004080 

0040A0 

004 OCO 

0040E0 

004E00 

004F20 

004F40 

004660 

004E80 

004EA0 

004 ECO 

004EE0 

004F00 

LINE 004F20 

004F40 

004F60 

004F80 

004FA0 

LINE 004FC0 

004FE0 

005000 

005020 

00504C 

005060 

005080 

0050AO 

005 OCO 

0050FO 

005100 

005120 

005140 

005160 

005180 

0051A0 

0051C0 

0051EO 

005200 

005220 

005240 

005260 

0052 80 



09004B20 
12000000 
01070340 
02080000 
1800430C 
140P4780 
0000000F 



2000002F 
00000000 
404 04040 
00001820 
00009110 
F0041BDD 
00000000 



00000000 

oooooooo 

00000001 
00C8000A 
C0004710 
43DC0001 
OOOOOOOO 



0C0C4C18 
OOOOOOOO 
FF6058D2 
0E295H4 
F03C483A 
18F91B99 
OOOOOOOO 



End of Nucleus 



OOOOOOOO 
0FO04BE0 
8000173C 
14010219 
00021100 
47FOCO0O 



7F000000 
0?0010F0 
80O0123C 
OOOOOOOO 
41000001 
48RA000C 



OOOOOOOO 
0000123C 
0000123C 
47F0F008 
8POOO00F 
5400F043 



PAGE 0014 
OOOOOOOO 
C24047F0 
0000123C 
41CC000? 
4710F02E 
47F0F01A 













C1C203C5 


40404040 


006710CO 


00004CF0 


FF050006 


70004E5? 


0001FF60 


00000180 




47F0F00A 


04C1C203 


C50090EC 


OOOC05CO 


41000048 


4510C008 


OAOA5001 


nnn450l0 




00081301 


581 00004 


58110013 


18214500 


C02AE7D9 


C 1E84040 


40404110 


C3000A29 




4 7F0C0C4 


11481000 


OOOOOOOl 


00004000 


OOOOOOOl 


02000001 


90000000 


004^0022 




OOOIFCFC 


9201FA00 


0001FR53 


07004ECA 


00000078 


? 3 2828?8 


4101FC40 


0101F920 




00O1F92O 


00000073 


0001^870 


00410000 


OOOOOOOl 


00504000 


OOOOOOOl 


02004ECC 




90000000 


0054?000 


0001FC9C 


1201FA00 


0001FB58 


06004EC8 


00000050 


28282328 




2 1 01 FC 10 


0101F7FO 


0001F7FO 


00000004 


OOOOOOOl 


45lOCono 


OF004024 


R000406C 




0A134U0 


C0244100 


00011300 


58F10054 


05EF070O 


4510C0FC 


7^000000 


00300000 




0000406C 


00004FF8 


0001FC18 


58F10008 


58F0FO30 


05EF4U0 


COE858E0 


IO0858F0 




E03405EF 


0207C248 


C2F8F273 


C248CIF8 


4F30C248 


5030C258 


F273C250 


C1FC4F30 


ABLE 


C2505030 


C25C4110 


C7580700 


45F0C150 


00004E48 


OOOOOOOO 


C2C102C5 


09404040 


0A064700 


006F0703 


C27CC2F4 


0276C270 


C27C5831 


00004E30 


C2680203 


C27CCIF8 




0203C238 


C1FC020B 


C294C270 


OE08C294 


C26B0700 


4510C19C 


7FOO0000 


00200000 




00004024 


00004F7C 


0001FC48 


58F10008 


58F0F030 


05EF4110 


C1885RE0 


100858P0 




E03405EF 


4110C024 


91481011 


47E0CIC4 


96101012 


47F0C0E4 


07FE07FF 


4510CIO8 




00004024 


8000406C 


0A14181O 


58000004 


41000048 


0A0A98EC 


000C92FF 


OOOC41F0 




000007FE 


OOOOOOOO 


FOFOFOFl 


FOFOFOFl 


40404040 


40404040 


40404040 


40404040 




40404040 


40404040 


40404040 


40404040 


SAME AS ABOVE 
















40404040 


40404040 


OOOOOOOO 


0000001F 




OOOOOOOO 


0000001F 


OOOOOOOl 


OOOOOOOl 


003880B3 


OOOOOOOO 


OOOOOOOO 


3702963C 




40202020 


6B202020 


6B202020 


FIF1F1F1 


40404 040 


40404040 


F2F2F2F2 


40404040 




40404040 


404040F3 


69F7F0F2 


6BF9F6F3 


40404040 


40404040 


40404040 


40404040 




40404040 


40404040 


404 04040 


40404040 


SAME AS ABOVE 
















40404040 
OOOOOOOO 


40404040 
42204034 


40404040 


40404040 




40404040 


40404040 


OOOOOOOO 


OOOOOOOO 


| C2CID2C5 

47F0F00A 


0*3404040 
05C2C102 




00290040 
C50990FC 


00005073 
000C05C0 


FF050006 
410001F4 


690050A6 
4510C008 


oooooooo 


00004CO0 


OAOA5001 


00045010 


00081801 


58100004 




58110018 


18210205 


0054C0D0 


41100054 


0A0E18BI 


1B335A32 


00005030 


00485A32 




00044100 


C04247F0 


C04AC3CR 


C109D3C9 


C5401BU 


0A085030 


004C4110 


00481A10 


BAKER 


45F0C06C 


0000509C 


OOOOOOOO 


C3C8C109 


D3C9C540 


0A064700 


00OF1851 


1B991A9F 




4780C096 


4510C094 


00140000 


04C1E740 


C8CIC440 


C10540C5 


09090609 


0A230203 




20O85000 


41400003 


IA7458A0 


0004502A 


0018181R 


0A0E04C0 


18105800 


00044100 




01F40AOA 


93ECO00C 


92FF000C 


41F00000 


07FF0000 


OOOOOOOO 


09005110 


47820700 




4510C102 


00250000 


070906C7 


09C 10440 


C5090906 

80000378 


096B40CI 
5810C108 


C2C505C4 

OAODOOOO 


40C4E404 

OOOOOOOO 




0740C6D6 


030306E6 


E2000A23 


47F0C10C 


1 


OOOOOOOO 


OOOOOOOO 


OOOOOOOO 


OOOOOOOO 



00488300 
9201F1F0 
00000070 
40404040 
000053A8 
7F000O00 
009602 7C 
D203E000 
41100043 
00CC1A01 



OOOOOOOl 
0001F348 
OOOOOOOl 
40404040 
000051E0 
40204040 
F000016C 
016841FF 
58F01008 
lAOilAOl 



00004000 
07O052FA 
00005150 
40404040 
9000306F 
00005150 
41FF0070 
000450F0 
58F0E034 
92400170 



OOOOOOOl 
00000660 
OOOOOOOO 
5000526E 
0000533C 
00005370 
5OFO015C 
015C4110 
05FF4U0 
D277D171 



ABDUMP 



OOOOOOOl 
28282828 
00004COO 
OOOIF348 
0000533C 
0001F408 
4UF0070 
00489220 
00014800 
01704110 



54000000 
4101F400 
0O01A378 
00007214 
00000008 
0033000E 
191047C0 
100558F1 
005C9560 
00381901 



007C0020 
0101FOBO 
OOOOOOOO 
00005200 
40404040 
98E00158 
00B61BFE 
000858F0 
01704740 
47A000EA 



1001F45C 
OOOIFOBO 
00019EEO 
0000005C 
40404040 
12EE4780 
40F00168 
F03005EF 
O0CE4720 
4000005C 



Q 



05? AO 
30 5 2C0 
3 5 7 e 

005:520 
005340 



07F5431O 
O16496F0 

47F000R? 
OOOOOOOO 
008 L404O 

40404040 



5 F 4 I 1 1 
01E5O201 
07CIC7C5 

F0F0F0FO 
00704040 
4O404040 



LINGS 005360-005380 SAME AS ABOVE 
3C63A0 404PC7i=0 F1F9F0F2 



0001 4010 

noscnno 

FFFF07FF 
FFFFFFFO 
40404040 

F0F4FOP4 



C0<SF92F1 
47F00060 
^0^0000^ 
00005300 
404040FQ 
FOF4F040 



D170O2O3 
9RE0O1SR 

oooooooo 
oooooooo 

F0F5F3F2 

4040C<SFO 



010001 ?C 
12FF07R5 
00 r, 052F0 
0001F4C8 
F0404040 
C6F4C6F0 



4F1^01S0 
41 1 FO0^4 

ooooo6or 

00007214 
40404040 
C6F44040 



;E 0015 
P33301E2 
191F07R5 
00060008 
A0002E3E 
FOFOFRFi 
40F6F0C6 



l 

CO 



OIF 80 














3001F1R0 


000001A4 


OIFIAO 


C9C7C7F0 


p 1F9C3C6 


001CF010 


0101F0RO 


5R50302R 


4R603O?c 


9K02024 


47B0F020 


OlFOC^ 


O1407024 


4780F070 


4155000R 


4R60» r 01 h 


4140F0AC 


AiioFor.F 


41O0O002 


05005000 


oiFOFO 


40004 7 80 


p 04E874O 


F02CO14R 


20114710 


FO444140 


F0CC47F3 


F04F414O 


F0AC4155 


01F100 


TOO 14 310 


30305050 


30304210 


3^304^60 


F0504O^0 


30369130 


70124730 


F07CD200 


OIF 120 


}0?F?01? 


9?no?oi? 


968O3000 


914*201 1 


471OF09A 


Q4RF30^0 


O6O03030 


40014140 


OIF 140 


3030^343 


301 847P0 


FTA49640 


3^200230 


3O?R4001 


41 103or>8 


0A0O07FE 


400BF013 


OIF I 60 


SOI 8 4 F 03 


Fl R3F293 


F39RF4A3 


P 8ARF633 


F7RPF3C3 


P9C8C1 03 


070RC3F3 


E501E641 


IF 180 


3 o 1 F I 8 


1 F R 


C9C7C7F0 


F 1FQC303 


00O4FO1 


O101F19R 


41220000 


41A00008 


OIF 1 AO 


192A91 PO 


2° 004 78 


F3 3694 7F 


203043A7 


O02F44A0 


P0 3C47R0 


F036923R 


202894CF 


OIF ICO 


402C41A2 


^0?3S0A7 


001 RROAO 


0048412? 


O00R07FF 


91O0402C 


00OIF33O 


0001F180 


OlFiCO 


C9C7C7F0 


F1F9C2C I 


002A«=010 


0101F 1F0 


90FR0O14 


1RRFS821 


00085830 


20445833 


OIF? 00 


00004140 


00014043 


002494BF 


20304103 


0OOR5001 


0O105O13 


000C1855 


91C01005 


01F2?o 


4 74 ROOT 


1 20 20 I 1 


47ROR044 


9183203O 


47R0R12A 


96R07O30 


5RF0204C 


43402040 


1F240 


1 A 43 5 043 


O0189401 


3 000^6 40 


30^01 R44 


43402043 


1R741A43 


<U?020ll 


47E08074 


01F760 


43502010 


9 1C0202 4 


47R0R0A0 


91402024 


47R0R0R0 


91201005 


47F080R0 


5861000C 


OlF^RO 


IA650201 


3O066O00 


48633006 


47F080R4 


918 01004 


4710R0RO 


48610C06 


47F080B4 


01F2A0 


4360203F 


1A 654064 


30060202 


40OH030 


50302O44 


05FF9RFR 


0O1407FF 


43402042 


0lF?cn 


13741443 


58F02048 


94013000 


96203000 


9120201 1 


47F08100 


41030030 


500 3001 8 


01F7PP 


910P2024 


47108070 


947F203O 


47FOR070 


94F04000 


50430O13 


91401005 


47108118 


01F300 


9602 4000 


47F03074 


060C4000 


020 13024 


R13C9640 


2O3047F0 


R0741R51 


18120A19 


01F320 


13151R55 


5013000C 


47F03044 


FFFF0700 


oooooooo 


00OIF1 03 


C9C7C 7F0 


F1F9C2C2 


01F340 


OO^DFOiO 


01 OIF 348 


90ER0014 


1 R6F6821 


00OR5831 


00101R41 


917F4000 


4710504C 


01F3 60 


47405028 


18144100 


00010AOI 


47F05010 


1R121R03 


4RO05008 


90010040 


41110000 


OIF 380 


043712FF 


47RO501O 


05^9801 


D04O4U 1 


0000OA37 


QRP80014 


07FF070O 


07000700 


01F400 


4101F400 


7^00008 1 


43000000 


7FO0520O 


0001F43R 


08P00O00 


4001F42R 


00005150 


OIF 420 


0001F430 


00010000 


13005320 


40000081 


01005329 


70O00O73 


OOOOOFFC 


0001F198 


01F44C 


O0000 c FC 


O^OOOFFC 


OO nn OEFC 


oooooooo 


OOOOOOOO 


O0 n 02RF0 


OCOOOOOO 


04000180 


01F460 


04^1 FC90 


CROOOOOO 


OFOOO^OO 


oioooooo 


OOOOOOOO 


0F0051S0 


0201F43R 


83001284 


01F480 


00310000 


C2C2C2C1 


C303C^F6 


P0O0306A 


00003039 


6000207^ 






1F4C0 






30700100 


F3F0F5C1 


000C0O72 


00002070 


FFO4C00E 


0001F36C 


01F4F0 


03F003F0 


0H01F830 


OOOOOOFO 


0O"»06lA8 


00000R7R 


40007072 


OOOOOOOO 


00O1F098 


01F500 


0005150 
50002FQA 


30007FF0 
0001F34R 


000031 70 
0001F70R 


00OOS21F 
OOOOOl A4 


0002O000 


OOOOOl RO 


O00001R0 


000051B8 


01F520 


| C3CRC109 


03C9C54O 
1 AC905C6 


00162040 
O6C60906 


O301F550 
04C9C4C6 


01FR40 


FF050000 


4901F5RF 


oooooooo 


00005008 


47F0F02O 


01F550 


C9C C >03C4 


06C6F2CI 


FSC504C1 


C309D600 


90FC00OC 


05C01821 


41000048 


4510C00A 


01FS80 


0A0A5001 


00045310 


0O08LR01 


5RS2O000 LHAKLIt 5C420004 


50^20008 


41400008 


1A2458AD 


01F5A0 


0004502A 


0^1 355S0 


C0674770 


C04R0700 


47F0CO42 


R000O1RC 


5810C03F 


0A001810 


O1F5C0 


58000OO4 


4100004R 


0*0 A 98 EC 


O00C92FF 


D00C41F0 


000007FF 


OOOOOOO? 


OO005029 


01F5E0 


0000515^ 


OOOIFFRR 


0001F060 


0O00240R 


6901F550 


0001F550 


O001F630 


00004F5 8 


01F6O0 


ooooooo? 


000°4C40 


0O01FF4C 


00002388 


OOOOOORO 


-0000003C 


4000AC7A 


OOOIFFOC 


01F670 


oooooooo 


700O503R 


oooooooi 


00000002 


00000002 


09005UO 


47825078 


40C10122 


01FS40 


9F01F67F 


AO^OOOOR 


06 01F6RO 


2O000130 


7F000000 


07010O00 


7F01F650 


0001F650 


r\ 1 C L. i. A 


nr nnnnp t*. 


4 O 1 F A 1 R 


0001PFOO 


03000000 


OOOOOOOO 


^ooooooo 


06000306 


OOOOOOOO 



Q 



> 
4^ 



01F6AO 
GIF6C0 
01F6FC 
OIF 700 
IP 720 
^IF740 
01F760 
0l c 780 
01F7A0 
01F7C0 
01F7FQ 
01F800 
1 F 8 2 
OIF 840 
OlFHbO 
01F88Q 
01F8A0 

1 F 8C 
01F8F0 
01F90^ 
01F970 
01F940 
01F960 
OiF^SO 
01F9AO 

01F9C0 
01F9E0 

01 FA 00 
01 FA 2 
01FA4O 
01FA60 
OIF A 80 

I F A A 
Ol^ACO 
P1FAF0 

1 F ^ r - 
1FR2P 
01 Fa 40 
1 F 8 6 
O1F380 
OiFRA^ 
01FRCC 
01FRCP 
OlFP.no 
1 F C 2 
P1FC40 
01FC60 
01FC80 
OlFCA^ 1 
1FCC0 
OIPCFO 
OlFOOO 
01F020 



<.;n\)< '-j "i 1. 1 i 

■OOOOOOOO 
00 100 01 

oooooooo 
oioooono 

3101F777 

80 IF 73 

ococoooo 

41220000 
F03692RR 
000 IF 06 8 
C9C7C7F0 
F01 RO2 04 
OOORFpl 
F02^O7 7F 
C9C7C7F0 
00009101 
603F8R4 r > 
5 3 7 00 1 3 
80144740 
9RF60014 
58403028 
41440OOR 
30304150 
98803000 
OOOAFOl"* 
OQ7F44A0 
00O807FF 
9 0E8D0 1 4 
00085001 
47R0R12A 
434O2043 
4780R0R0 
91R° 10^4 
50302^44 
9120201 I 
94FQ4000 
81 3C9640 

oooiff5p 

000R5831 
13121303 

0PO0A3 7 
FF 0400 3 3 
00000OP8 
6901FS76 
0001 FC40 
4101 PC 40 
00000000 
OOOOOFFC 
0401PC r C 
00010000 
OOOOOFFC 
04P1F0FC 
00010000 



0O00O001 

onoooosc 

02C00043 
0P0 00 2C0 

4 000 00 5 
OCOOOOOO 
4PPIF720 
41 A 000 OR 
202R94CF 
00P1F5OR 
P1F9C3C 3 
3028200B 
1 1 F R 2 R 
9601200C 
F 1FQC 3C2 

5 304 780 
00034144 
96042000 
5 nq 041 12 
7F C 07 0P 
4R50302 C 
OIP22024 
3^305050 
41 10300* 
0101F9AR 
F0 3C4 7RP 
9100402C 
13 8F5821 

to ios on 

9 6 R 1 3 
1R741 A43 

-* 1 2 o n o 5 

471 P80RO 
nSFPISF 9 
47F08100 
5 04 3 OP I R 
2P3047FO 
0001F9F8 
01018 4 1 
48005008 
98ERO014 
40002F 14 
Oooppoo? 

npPlFO^n 
ORPOOO™ 

7F0 00POO 
OOOIOOOO 
0001P82R 
4 8 n 000 00 
C2C2C?P1 
OopoorFC 
P. 8 001 pno 
C2'"2C2Cl 



'lypo^i ip 
40002R4C 
0R0000F1 
FCO1320O 
001F0001 
0801 F720 
0601F618 
0CO1FFOO 
IR2A91 80 
402C41A2 
00OC24AR 
0OO6F010 
41 130008 
077F4390 
96C04P2C 
00 ISP 01? 
60845R17 
0P034 7F0 
42430000 
00 044100 
0OO1F99O 
43603030 
47R0F036 
301R91 30 
0Anno7FF 
412200PP 
F"3692R8 

0HO1FR40 

0P0R5R3O 
PP0C1R55 
SHF02 r, 4C 
9170201 1 
47FPR°B0 
48610005 
O0 14O7PF 
41030030 
91401005 
R0741851 
C9C7C7FO 

91 7F4000 
0001 ^040 

r »7FF0 700 
3 A 1 3 A 1 
0O0C73R8 
000024OR 
4001FC33 

oooooooo 

R3004F7C 
OOPOO C PF 
OPOPOOOO 
P.302C3C3 
nOOQOFFC 

F o p o 
C30 3C3C5 



00 3 CO BOO 
OOO031F8 
00000000 
OOOROOOO 
PR000008 
OOOOOOOO 
00000100 
40000008 
200047R0 
002850A2 
8000240C 
?101F7PO 
0A?007FF 
404241 AO 
96?'* 20 00 
0niFR70 
POOC9140 
604R1 Vt4 
41 12?00R 
^0?1PA01 
0001F35R 
<HC02O24 
065 04 364 
2P124780 
P7PQP700 
41 A0P008 
7 02RQ4CF 
q p, O 1 P O 9 P 
2P445R3^ 
91001005 
43402040 
47F08074 
5R61PP0C 
47F 0R0R4 
43402042 
S003001« 
471081 13 
1 «120A1Q 
Fi^9C2C2 
4710504C 
41 1 10000 
07000700 
P0^1F530 
0000^030 
OpnnooQP 
QPOO406C 
7FOO4FRR 
40^000^3 
pppppopo 

P 1 n POPPP 
P000254F 
ponooopp 
01 000000 
C3C2306A 



OOOOOOOO 
OFOOOOOO 
C5F2C606 
0O0OC7C5 
OOOOOOOO 
9201F718 

7FO00000 
opoooooo 

F036947F 
001850A0 
FFOOOOOO 
912^201 1 
0001F88P 
0008139A 
07FF615C 
90F60014 
10004710 
RR40O003 
OA00014P 
47F060O0 

C9C7C7F0 
4780F074 
00004144 
P064^»200 
q o n i f qf q 

1R2A9180 
402C41A2 
C^C7C7F0 
00004140 
474080CC 
IA435043 
43502010 
1A650201 
486C203F 
18741 A43 
91082024 
96024000 
18151R55 
00ODF010 
474050 ?B 

0A3712FF 

002F0R00 
00000048 
0oor>0O3C 
2101FC10 

OOOOOOOO 
O001FC78 
11004F7C 
OOOOOOOO 
OOOOOOOO 
3F0O0000 
OOOOOOOO 
OOOOOOOO 
00003039 



00005078 
OOOOOOOO 
09F34040 
06D9C7C5 
OOOOOOOO 
400^0008 
02000000 
OOOOOOOO 
20OO43A2 
00OQ4C00 
0O0 n 5008 
47F0F018 
0001F7D8 
41 A97O00 
07000700 
186F1840 
607C4100 
41440083 
50784780 
41120004 
F1F9C3C5 
91402024 
0001^040 
302F2012 
O001F908 
200047RO 
007850A7 
F1F9C2CI 
00014043 
91202011 
00189401 
91C02074 
30O66O00 
1A654064 
58F02048 
47108070 
47F08074 
5013000C 
0201FB58 
18144100 
47805010 
F4F0F1C3 
800001BC 
4000AC7A 
7F000O00 
00010000 
OROOOOOO 
20000078 
00002AFO 
0F004D6C 
0001FD38 
00007ACO 
0F004O74 
60007070 



O00O5028 
OOOOOOOO 
00310428 
40400C20 
0O00OO03 
6901F5P4 
7FQIF750 

00000300 
002F44AO 
000073R8 
00O1F810 
05077045 
C9C7C7F0 
58AA0O00 
0001F908 
18515820 
OO^lOAOl 
41370028 
60764740 
5O12O00C 
OOiOFOlO 
4780F074 
30304050 
9740302C 
C9C7C7F0 
F036947F 
001850A0 
002AFQ10 
007494RF 
47808044 
30009640 
47R080AO 
48630006 
00060202 
94013000 
947F2030 
960C4000 
47F08044 
90E80014 
OOOlOAOl 
05EF9801 
000CO077 
0001F630 
0001F5E0 
OOOOOOOO 
02004FF8 
4001FC70 
OOOOOFFC 
OCOOOOOO 
0201FC78 
OOOOOFFC 
OCOOOOOO 
0201FCO8 



0001F5F4 
OOOOOOOO 
00320100 
0428002F 
01080100 
40000008 
0001F750 
00000002 
F03C4780 
00000180 
0001F528 
30014770 
F1P9C302 
O501A000 
0001F810 
50445822 
12444740 
94803004 
609091FE 
47F0602C 
0101F920 
4B50F022 
30364260 
92002012 
F1P9C3D3 
200043A2 
00484122 
02GIFA00 
20304103 
91802030 
30001B44 
91402024 
47F080B4 
4001100D 
96203000 
47F08070 
02013024 
FFFF0700 
185F5821 
47F05010 
00404111 
00002070 
00000002 
OOOOOOOO 
7F0040E8 
20000050 
00004D24 
OOOOOEFC 
04000180 
33001254 
0001F9A8 
05000180 
93001284 



P1F06P 



FF0S691C 



PPP1FSFP 



000 IF 5 50 



0OP1F62R 



00004F58 



00000002 



00004C40 



0001FF4C 



Q 



oifoso 

01FOA0 

01FDC0 

OlFtOO 
IFF 20 

1PF60 
01FF80 
OIF PAD 
01FFC0 
i r E F 
OlF^OO 
IFF 20 
IFF 40 
0LFF60 
01FFS0 
oiFF'VP 
OlF^CO 
01FFE0 



00002388 
00002408 
00000000 
00000103 

oooooooo 

0000BT80 

OOOOOOOO 

oooooooo 

00 004F5 3 
4000 AC 7A 

oooooooo 

1 2 0^800'-) 
0001 OO^O 

oooooooo 



40404040 
C2C508C4 
140^010 



00000080 
S901F550 

oooooooo 
oooooooo 

0F01FFO0 
0001FF4C 

00°1FR40 

oooooooo 

O00 1FFIC 

ooci r Foc 
oooooooo 
oooooooo 
oooioooo 

OOOOOOOO 



14040100 
OOO^OAOO 
00CSC1C4 



000^003C 
0001F634 
OOOOOFFC 
OFOOOOOO 
04003550 
80OO13FC 



E7D9 

FF05 
OOOO 
OOOl 
oooo 

0000 

oooo 
oooo 



r.iFfl 

4 00C 

oooi 

FF4C 

oooo 
oooo 
oooo 
oooo 



0106C2D3 
8 001284 
C5D94040 



4000AC7A 
OOOOOOOO 
OOOOOFFC 
00000180 
t >8O013FC 
0O0030F 8 

404O4040 
0001FP&8 
00004C40 
40004000 

oooooooo 

Ones 1FF14 

oooooooo 



Din7034O 
C9C 24040 
14000000 
00040700 



TIOT 



0001FFOC 
OOOOOOOO 
OOOOOFFC 
"0000000 

oooooooo 

0001FF74 

0004F0O0 
0001F5F0 
00OIFF4C 

oooooooo 
oooooooo 
oooooooo 

00O0OQ00 



oooooooo 
oooooooo 

OOOOOFFC 
400O0000 
O0O30028 
00008F48 

00005000 
O0002408 
00002388 
OOOOOOOO 

oooooooo 

C1C203C5 
OOOOOOOO 



70005033 
OOOOOOOO 
OOOOOFFC 
OOOOOOOO 
00020190 
OOOOOIRO 

OOOOOOOO 
70005028 
00000080 
OOOOOOOO 
00188000 
4O404040 

oooooooo 



PAGF 0017 
0001F5F0 
OOOOOOOO 
OOOOOOOO 
01000000 
OOOlFFBfi 
60002070 

OOOOOOOO 
PFFFPFFF 
0000003C 
OOOOOOOO 
0001F0EC 
8001FF?? 
OOOOOOOO 



40404040 
00030900 
070^C905 
R0001254 



C7n6C706 
8000 13FC 
F3C 50940 

oooooooo 



40404040 
14000000 
00040400 



0001FE«8 
0001FF4C 



00002408 
o 0007338 



40004CFO 

00 00 00 9,0 



00000030 
O00OO03C 



000 IFF IC 

4000AC^A 



000O006C 
0O01FF0C 



J 0000O181 
00000181 
0001FF4C 



40404040 
E2F8F2C1 

80001284 



oooooooo 

00004C40 
00000180 



I 



FNO OF OLMP 



Q 



COMPLETION COOE - SYSTFM=QOO USER=0444 
IEF285I SYS1.J08LIB 

VOL SER NOS = OLIB02. 



IEF285I 
IFF285I 
IEF285I 
IEF?85I 
IEF285I 



SYSOUT 
VOL SFR 
SYSOUT 
VOL SER 



NOS = 



NOS = 



KFPT 

SYSniJT 

SYSOUT 



I 

O 



Appendix 16 



PROJECT ADMIRAL APPENDIX XVI 

DIRECT ACCESS ROUTINE (DAROUT) 

A. Abstract 

1. Program name - DAROUT (Direct Access Rout ine) 

2. Purpose of the program - DAROUT is a program written for 
updating a data set on a DASD previously loaded with BSAM. 
Updating can be done randomly. 

3. Machine configuration - System/360, working with the pre- 
liminary version BETA 1-J of the Operating System. 

4. Check-out status - DAROUT was fully tested. 

All questions regarding this program should be directed to the 
author. The Programming Systems Information Center should be 
copied on all correspondence. 

B. Program Description 

1. Purpose of the Program 

DAROUT - Direct Access Routine - was written as a program 
for updating a data set on a DASD. Updating can be done 
randomly for one data set. 

2. Method 

a. The DAROUT program has to be placed by the user 
either into LINKLIB or a private library. 

b. Before each CALL macro issued for the DAROUT pro- 
gram, the user has to supply the specific I/O code, 
the track seek address and the updated data, if ap- 
plicable, into previously defined fields. 

The DAROUT program expects the relative track seek 
address to be given at execution time and will OPEN, 
READ, WRITE, or CLOSE according to the specified I/O 
code and key. 

3. Programming Requirements 

a. The data set to be updated with DAROUT must have 

been loaded previously with BSAM. It must have one 
extent only. 



A16-1 



APPENDIX XVI (Cont'd.) 

b. The user must either use a CALL macro to include the 
DAROUT load module at linkedit time or use a LOAD 
macro and a CALL macro to bring in the module at ob- 
ject time. 

c. The user has to follow the standard linkage conven- 
tions. The entry point to DAROUT is DAENTRY. 

d. The user has to define the standard sequential order 
of parameters in the parameter list, as specified 
below in Figures 1 and 2, which is passed on to the 
DAROUT program. 

e. The user must build one buffer (BUFAREA) of fixed 
format F and of a length large enough to hold 
KEY+DATA, aligned to a double word boundary. For 
example, if the data area is 80 characters and in- 
cludes a 5 character key, the buffer then has to be 
85 characters. 

f. The DAROUT program expects the following information 
to be prepared before issuing the CALL macro: 

1) Relative seek address. 

2) Operation to do (OPEN, CLOSE, READ, WRITE). 
The other parameters may be given initial value 
which will not be changed. 

g. There are no restrictions on the length of the buf- 
fer (BUFSIZE); the length of the key (KEYSIZE) has 
to be <_ 256. 

h. Synonym keys are not allowed on the same track. 
Track synonyms for the track seek address are 
allowed. 

i. The parameters passed on to DAROUT program by the 
CALL macro must be of the following form and coded 
in the same manner and sequence as listed. 



A 16-2 



APPENDIX XVI (Cont'd.) 



1) Using COBOL 

WORKING- STORAGE SECTION 

77BUFSIZE VALUE. ..PICTURE S9(4) 
COMPUTATIONAL. 

77KEYSIZE VALUE. . .PICTURE S9(4) 
COMPUTATIONAL. 

77SEEKTRAK PICTURE S9(3) 
COMPUTATIONAL- 3. 

7 7IOCODE PICTURE A. 

01 BUFAREA. 

02 Pictures as on Disk 
02 



FIGURE 1 



2) Using ASSEMBLER Language 



BUFSIZE 


DC 


XL n 


(any length) 


XEYSIZE 


DC 


XL2'nn ! 


(length<256) 


SEEKTRAK 


DC 


PL3'000' 


(for CCCH) 


IOCODE 


DS 


CL1 


(for Read or Write 




DS 


OD 


Open or Close) 


BUFAREA 


DS 


• 


(any length for 






* 


Key+Data) 



FIGURE 2 



A 16-3 



APPENDIX XVI (Cont'd.) 
j . Standard Calling Sequence 

1) COBOL 

DAROUT to be included at linkedit time: 

ENTER LINKAGE 

CALL DAENTRY USING BUFSIZE, KEYSIZE, SEEKTRAK, 

IOCODE, BUFAREA. 

2) ASSEMBLER 

DAROUT to be included: 

a) At linkedit: 

anyname CALL DAENTRY, (BUFSIZE, KEYSIZE, 
SEEKTRAK, IOCODE, BUFAREA) 

OR 

b) At execution time: 

LOAD EP-DAROUT 
L 15, 

CALL (15), (BUFSIZE, KEYSIZE, SEEKTRAK, 
IOCODE, BUFAREA) 

k. Before issuing the CALL-macro, the following data has 
to be prepared: 

1) Relative seek address to be moved into the key 
area (first bytes of BUFAREA). 

2) A specific constant to be moved to the field 
IOCODE. 

1. The user must move the track seek address in packed 
format into the field SEEKTRAK as if his data set 
was to begin on track zero (0000) . 

Example : If the data set is contained on 1000 

tracks, i.e. from 0000 to 0999, then when 
addressing the last track of this data set, 
the user has to fill in SEEKTRAK with the 
packed result of: 

[0|9|9|9| , i.e., [ 00 | 99 | 9S | 

1 byte 1 byte 

The beginning address of the data set will 
be taken by DAROUT from the DSCB and added 
to it. 

A 16-4 



APPENDIX XVI (Cont'd.) 

m. The constant giving the specific I/O-operation is as 
follows: 

for OPEN hex. represent, of i.e., 'D6 f 

CLOSE C f C3 f 

READ R '09' 

WRITE W f E6' 

When calling for OPEN and CLOSE, the user need not 
fill in the track seek address and the key area, but 
all other parameters must be filled and passed. 

D. Operating Procedures 

In order to use the DAROUT program, the following is a pre- 
requisite: 

1. Place the DAROUT program as a member of LINKLIB or a 
private library. Use the member name DAROUT. 

2. Use DDDISK as the DD-name for the data set to be updated. 

The following page gives a listing of the control cards needed 
to place DAROUT into a private library called TESTDA. 



A 16-5 



APPENDIX XVI (Cont'd.) 
JOB CONTROL CARDS FOR PLACING DAROUT AS A 
MEMBER OF THE PRIVATE LIBRARY TESTDA 



//LINKEXEC JOB 0234,HUET,MSGLEVEL=1 

//LINK EXEC PGM=L2NKEDIT,PARM*»NCAL,XREF' 

//SYSPRINT DD SYSOUT=A 

//SYSUT1 DD DSNAME=MYWORK,UNIT=ID,SPACE=(TRK, (10,10)) , C 

// DISP= (NEW, DELETE) ,LABEL= ( ,NL) , C 

// VOLUME* SER*=(111111)) 

//SYSLMOD DD DSNAME=TESTDA( DAROUT) ,DISP= (OLD, KEEP) , UNIT=ID, C 

// VOLUME=(, ,1,1,SER=(111111)) ,LABEL=(,NL) 

//SYSLIN DD * 

IEF236I ALLOCATION FOR LINKEXEC LINK 

IEF237I SYSPRINT ON 00E 

IEF237I SYSUT1 ON 190 

IEF237I SYSLMOD ON 190 

IEF237I SYSLIN ON 000 

****MLEA OPTIONS SPECIFIED-NCAL,XREF 

****MLEB**** DAROUT NOW ADDED TO PARTITIONED DATA SET 

ORGANIZATION AS A MEMBER. 



A16-6 



DAROUT ERROR MESSAGES 



APPENDIX XVI (Cont'd.) 



MESSAGE 


MEANING 


» 10 COMPLETED WITH ERROR' 


Post code in ECB is not ' 7F » . 
The routine will process the 
next record unless there is an 
unrecoverable error for which 
IOS displays its own error mes- 
sage with sense and status flags. 


•IOCODE INVALID. 
NOT R.W.C.O 1 


Initialization of 10 code by the 
user is invalid. 



SAMPLE 

The sample consists of two parts: 

1 • PART 1 - Program ITLOAD. This program loads records used 
as test data to a DASD. It is documented by the symbolic 
cards, listing, and a listing of the control cards to 
load and execute this program which is a member of the 
private library TESTDA. Listing and card deck of the in- 
put records are included. 



2. PART 2 - Prog 
updating the 
symbolic card 
cards to load 
of the privat 
the records t 
will, when ex 
dated. This 
records is sh 



ram TESTROUT, to call the DAROUT program for 
test data. This part is documented by the 
s, listing and by the listing of the control 

and execute this program which is a member 
e library, TESTDA. Listing and card deck of 
o update are included. The TESTROUT program 
ecuted, list each record before it is up- 
listing as well as a listing of the updated 
own. 



3. Data Preparation for Sample 

The format of the records to load to a DASD using ITLOAD 
as well as updating these records using DAROUT, called by 
TESTROUT is shown in Figure 3. 



'1 s 
xxxxx 




11 30 
XXXX 




11 60 
XXXX 


Key 




Value to 
Update 




Track 

Address 
Relati) 
to Zer( 
1 



FIGURE 3 



A 16-7 



APPENDIX XVI (Cont'd.) 
G. Listings 

The following listings are attached: 

1. Source listing of DAROUT. 

2. Listing of control cards for linkedit DAROUT. 

3. Source listing of ITLOAD. 

4. Listing of control cards for linkedit ITLOAD. 

5. Listing of control cards for execute ITLOAD. 

6. Listing of input records to be loaded by ITLOAD. 

7. Source listing of TESTROUT. 

8. Listing of control cards for linkedit TESTROUT. 

9. Listing of control cards for executing TESTROUT. 

10. Listing of data records to be used as input for updating. 

11. Listing of data records before updating by DAROUT. 

12. Listing of data records after updating by DAROUT. 



A 16-8 









APPENDIX XVI (Cont'd.; 


1. 




DAROUT SYMBOLIC LISTING 


$JOB 








MODE -ASSEMBLE 






EXECUTE , 


.ASSEMBLER 




DAENTRY 


START 









SAVE 


(14,12) 






BALR 


2,0 






USING 


*,2,3 






ST 


13,MYSAV+4 






LA 


13,MYSAV 






LM 


4,9,0(1) 


PUT PASSED ADDR IN REG 4 TO 9 




CLI 


0(7),X , D6' 


TEST IF OPEN 




BE 


OPENME 






CLI 


0(7),X , C3' 


TEST IF CLOSE 




BE 


CLOSEME 






B 


RW 


TO READ-WRITE ROUTINE 


OPENME 


OPEN 


(DCBREAD, (INPUT)) 


OPEN DISK DATA SET 




OPEN 


(DCBWRITE, (OUTPUT)] 


\ 




L 


10,DCBREAD+44 


ADDRESS OF DEB IN REG 10 




MVC 


BEGINAD(6), 36(10) 


GET BBCCTT OF BEGINNING OF DATA 




MVC 


DCBREAD+16(1) ,1(5) 


INITIALIZE KEYLEN IN DCB 




MVC 


DCBWRITE+16(1),1(5)INITIALIZE KEYLEN IN DCB 




MVC 


SCHREAD+6(2),0(5) 


MOVE KEYLEN TO 




MVC 


SCHWRITE+6(2) ,0(5) 


COUNT FIELDS OF FIRST CCW 




MVC 


WORD2+2(2),0(4) 






L 


12,WORD2 


BUFSIZE IN REG 12 




MVC 


WORD2+2(2),0(5) 






S 


12,WORD2 


SUBTRACT KEYSIZE FROM BUFSIZE 




STH 


12,WRITOUT+6 


STORE DATA LENGTH IN 




STH 


12,READIN+6 


COUNT FIELD OF LAST CCW 




ST 


8, WORD 






MVC 


SCHREAD+l(3),WORD+] 


I MOVE BUFAREA ADDRESS TO 




MVC 


SCHWRITE+l(3),WORD+l DATA ADDR FIELD OF FIRST CCW 




A 


8,WORD2 


ADD KEYSIZE TO BUFAREA ADDR 




ST 


8, WORD 






MVC 


READIN+l(3),WORD+l 


MOVE ADDR OF DATA AREA TO 




MVC 


WRITOUT+l(3) ,WORD+] 


L DATA ADDR FIELD OF LAST CCW 


GOBACK 


L 


13.MYSAV+4 






RETURN (14,12) 


RETURN TO CALLER 


CLOSEME 


CLOSE 


(DCBREAD) 






CLOSE 


(DCBWRITE) 






B 


GOBACK 




*********ROUTINE TO MOVE SEEKTRAK 


INFORMATION TO BBCCTTR OF IOB**** 


RW 


MVC 


BIN+7(1),2(6) 






CVB 


11, BIN 






STH 


ll,CYLTRK+2 






MVO 


PK,0(2,6) 






MVC 


BIN+6(2),PK 






CVB 


11, BIN 






STH 


11,CYLTRK 






L 


9.BEGINAD+2 






L 


10,CYLTRK 






AR 


10,9 






ST 


10,RESULT+2 






CLI 


RESULT+5,X'09' 






BH 


EXIT 






B 


GO 





A 16-9 



APPENDIX XVI (Cont'd.) 



1. 




DAROUT SOURCE LISTING 


EXIT 


LA 

SR 

ST 

SRL 

LA 

AR 

STH 


4,10 

10,4 

10,RESULT+2 

10,16 

4,1 

10,4 

10, RESULT* 2 






GO 


MVC 
MVC 


SKWRITE, RESULT 
SKREAD, RESULT 








CLI 


0(7),X'D9' 




TEST IF READ WANTED 




BNE 


WRITE 








EXCP 


IOBREAD 




READ DISK 




WAIT 


1,ECB=ECBREAD 








CLI 


ECBREAD,X'7F» 




CHECK FOR READ ERROR 




BNE 


ERROR 








B 


GOBACK 






WRITE 


CLI 


0(7),X'E6' 




TEST IF WRITE WANTED 




BNE 


CODE 




TEST FOR INVALID 10 CODE 




EXCP 


IOBWRITE 




DISK WRITE 




WAIT 


1,ECB=ECBWRITE 








CLI 


ECBWRITE,X'7F' 




CHECK FOR WRITE ERROR 




BNE 


ERROR 








B 


GOBACK 






CODE 


WTO 


'IOCODE INVALID 


. NOT R W C D . ' 




B 


GOBACK 






ERROR 


WTO 


'10 COMPLETED WITH 


ERROR' 




B 


GOBACK 








DS 


4F 






DCBREAD 


DCB 


DSORG=DA,MACRF=i 


(E): 


,DDNAME=DDDISK, IOBAD=IOBREAD, 






DEVD=DA,KEYLEN=10 






DS 


4F 






DCBWRITE DCB 


DSORG=DA,MACRF=i 


CE) ; 


,DDNAME=DDDISK, IOBAD=IOBWRITE, 






DEVD=DA,KEYLEN= 


= 10 






DS 


OF 






IOBREAD 


DC 
DC 
DC 
DC 
DC 
DC 
DC 
DC 


X'42' 

X'OO' 

XL2'0' 

X'OO' 

AL3 (ECBREAD) 

X'OO' 

XL7'0' 

X'OO' 








DC 


AL3 (SCHREAD) 




ADDRESS OF CCW LIST 




DC 


X'OO' 








DC 


AL3 (DCBREAD) 








DC 


X'OO' 








DC 


XL3'0' 








DC 


X'0000' 








DC 


X'0000' 








DC 


X'OO' 






SKREAD 


DC 


XL6'0' 




IOB BBCCTT BIN, CYL, TRACK 




DC 


X'OO' 




IOB R RECORD 


ECBREAD 


DC 


XL4'0' 




ECB 


SCHREAD 


CCW 


X'29' ,0,X'60' ,0 




SEARCH KEY EQUAL 




CCW 


X'08',*-8,X'00' , 


»o 


TIC 


READIN 


CCW 


X'06' ,0,X'20' ,0 




READ DATA 


IOBWRITE DC 


X'42' 








DC 


X'OO' 








DC 


XL2'0' 







213 



A16-10 



APPENDIX XVI (Cont'd.) 



313 



1. 




DAROUT 


SOURCE LISTING 




DC 


X'OO' 






DC 


AL3 (ECBWRITE) 






DC 


X'OO' 






DC 


XL7'0' 






DC 


X'OO' 






DC 


AL3 (SCHWRITE) 


ADDRESS OF CCW LIST 




DC 


X'OO 1 






DC 


AL3(DCBWRITE) 






DC 


X'OO 1 






DC 


XL3'0' 






DC 


X'0000' 






DC 


X'0000' 






DC 


X'OO' 




SKWRITE 


DC 


XL6'0' 


IOB BBCCTT BIN, CYL, TRACK 




DC 


X'OO' 


IOB R RECORD 


ECBWRITE 


DC 


XL4'0' 




SCHWRITE 


CCW 


X'29' ,0,X'60' ,0 


SEARCH KEY EQUAL 




CCW 


X'08',*-8,X'00' , 


,0 TIC 


WRITOUT 


CCW 


X'05',0,X'20' ,0 


WRITE DATA 




DS 


H 




BEG I NAD 


DC 


XL6»0' 






DS 


H 




RESULT 


DC 


XL6'0' 




WORD 


DC 


F'O' 




BIN 


DC 


D'O' 




CYLTRK 


DC 


F'O' 




PK 


DC 


X'OOOC 




MYSAV 


DS 


18F 




WORD2 


DC 


F'O' 






END 


DAENTRY 





PUNCH 



A16-11 



APPENDIX XVI (Cont'd.) 

2. CONTROL CARDS FOR LINKEDIT DAROUT 

//LINKEXEC JOB 0234 ,HUET,MSGLEVEL=1 

//LINK EXEC PGM=UNKEDIT,PARM= , NCAL,XREF f 

//SYSPRINT DD DSNAME=PRTR,DISP=SYSOUT=A 

//SYSUT1 DD DSNAME=MYWORK,UNIT=ID,SPACE=(TRK,(10,10)) , C 

// DISP* (NEW, DELETE) , LABEL* ( ,NL) , C 

// VOLUME* (,,1,1,SER= (111111)) 

//SYSLMOD DD DSNAME^TESTDA (DAROUT) ,DISP= (OLD, KEEP) ,UNIT= ID, C 

// VOLUME* ( , , 1 , 1 , SER* (111111)), LABEL* ( , NL) 

//SYSLIN DD * 

IEF2361 ALLOCATION FOR LINKEXEC LINK 

IEF2371 SYSPRINT ON 00E 

IEF2371 SYSUT1 ON 190 

IEF2371 SYSLMOD ON 190 

IEF2371 SYSLIN ON 00C 

****MLEA OPTIONS SPECIFIED - NCAL XREF 

****MLEfc**** DAROuT NOW ADDED ^PARTITIONED DATA SET ORGANIZATION 

AS A MEMBER 

NOTE: DAROUT WILL BE A MEMBER OF THE PRIVATE LIBRARY TESTDA. 



A16-12 



APPENDIX XVI (Cont'd.) 



3. 




ITLOAD SOURCE LISTING 




EXECUTE 


.ASSEMBLER 




START 


START 









SAVE 


(14,12) 






BALR 


2,0 






USING 


*,2,3 






ST 


13.MYSAV+4 






LA 


13, MYSAV 






BUILD 


POO LA, 2, 85 






BUILD 


POOLB, 2,80 






OPEN 


(DCBIN, (INPUT), DCBOUT, (OUTPUT)) 




FIRST 


GET 


DCBIN, WORK+5 




AGAIN 


MVC 


WORK (5), WORK+5 






PACK 


ZONE+l(3),WORK+31(4) 






MVC 


WORK+31(4),ZONE 






AP 


CTR, ONE 






MVC 


SAVIT, WORK+81 






GETBUF 


DCBOUT, (5) 






MVC 


0(85, 5), WORK 






WRITE 


DECBOUT ,SF , DCBOUT, (5) 






CHECK 


DECBOUT 






FREEBUF 


DCBOUT, (5) 






GET 


DCBIN, WORK+5 






CLC 


SAVIT, WORK+81 






BE 


AGAIN 




FULTRK 


CLC 


CTR, TWONE 






BNE 


DUMY 






MVC 


CTR, ZERO 






CLC 


CTE, ONE 






BNE 


AGAIN 






CLOSE 


(DCB IN,, DCBOUT) 






L 


13,MYSAV+4 






RETURN 


(14,12) 




DUMY 


WRITE 


DECBY , SD , DCBOUT , DUMKEY 






CHECK 


DECBY 






AP 


CTR, ONE 






B 


FULTRK 




EDC 


AP 


CTE, ONE 






B 


FULTRK 




ZONE 


DC 


CL4' 




ONE 


DC 


P'l' 




CTE 


DC 


P'O' 




CTR 


DC 


PLZ'+OO 1 




SAVIT 


DS 


CL4 




TWONE 


DC 


PL2 f +21» 




ZERO 


DC 


PL2*+00' 




DUMKEY 


DC 


XL6'FFFFFFFFFFFF' 






DS 


4F 




DCBOUT 


DCB 


DSORG=PS,MACRF»(WL),DDNAME=DDOUT,DEVD=DA, 
KEYLEN=5,RECFM«F,BLKSIZE=80,BUFNO=2,BUFCB=POOLA 


C 




DS 


OD 




POOLA 


DS 


CL184 






DS 


4F 




DCBIN 


DCB 


DSORG«PS,MACRF-(GM),DDNAME=DDIN,DEVD=RD, 


C 






RECFM-F,LRECL-80,MODE-E,BLKSIZE=80,BFTEK=S, 


C 






BUFNO« 2 , BUFCB=POOLB , EODAD«EOC 






DS 


OD 




POOLB 


DS 


CL168 






DS 


OD 




WORK 


DS 


CL85 




MYSAV 


DS 


18F 






END 


START 





PUNCH 



A16-13 



APPENDIX XVI (Cont'd.) 
4. CONTROL CARDS FOR LINKEDIT ITLOAD 

//LINKEXEC JOB 0234 ,HUET,MSGLEVEL=1 

//LINK EXEC PGM=L^NKEDJ^,PARM= , NCAL,XREF' 

//SYSPRINT DD DSNAME=PRTR,DISP=SYSOUT«A 

//SYSUT1 DD DSNAME=MYWORK,UNIT=ID,SPACE=(TRK, (10,10)) , C 

// DISP= (NEW, DELETE) ,LABEL* ( ,NL) , C 

// VOLUME=(, ,1,1,SER=(111111)) 

//SYSLMOD DD DSNAME*TESTDA( ITLOAD ) ,DISP= (NEW, KEEP) , UNITED, C 

// VOLUME=(, ,1,1,SER=(111111)) ,LABEL=(,NL) , C 

// SPACE=(TRK. (50., 1)) 

//SYSLIN DD * 

IEF236I ALLOCATION FOR LINKEXEC LINK 

IEF237I SYSPRINT ON OOE 

IEF2371 SYSUT1 ON 190 

IEF237I SYSLMOD ON 190 

IEF237I SYSLIN ON 000 
****MLEA OPTIONS SPECIFIED - NCAL,XREF 

****MLEB**** ITLOAD NOW ADDED TO PARTITIONED DATA SET OMAN! ZATION 

AS A MEMBER. 

NOTE: ITLOAD WILL BE A MEMBER OF THE PRIVATE LIBRARY TESTDA. 



A16-14 



APPENDIX XVI (Cont'd.) 
5. CONTROL CARDS FOR EXECUTING ITLOAD 

//ITLOAD JOB 1234, ABC, MSGLEVEL«1 

//JOBLIB DD DSNAME=TESTDA,UNIT«ID,DISP* (OLD, KEEP), C 

// VOLUME=(,,l,l,SER=(llllll)),LABEL=(,NL) 

//STEPA EXEC PGM=ITLOAD 

//DDDISK DD DSNAME=DATA,UNIT=ID,DISP*(OLD,KEEP) ,LABEL=(,SL) , C 

// VOLUMES, ,1,1,SER=(111111)) 

//OUTPUT DD DSNAME*PRTR,DISP=SYSOUT*A 

//INPUT DD * 



A16-15 



6. 



APPENDIX XVI (Cont'd.) 
LISTING OF CARD INPUT RECORDS FOR ITLOAD 



00001 
00002 
00011 
00012 
00021 
00022 
00031 
00032 
00041 
00042 
00051 
00052 
00061 
00062 
00071 
00072 
00081 
00082 
00091 
00092 
00101 
00102 
00111 
00112 
00121 
00122 
00131 
00132 
00141 
00142 
00151 
00152 
00161 
00162 
00171 
00172 
00181 
00182 
00191 
00192 
00201 
00202 
00211 
00212 



0001 
0001 
0001 
0001 
0001 
0001 
0001 
0001 
0001 
0001 
0001 
0001 
0001 
0001 
0001 
0001 
0001 
0001 
0001 
0001 
0001 
0001 
0001 
0001 
0001 
0001 
0001 
0001 
0001 
0001 
0001 
0001 
0001 
0001 
0001 
0001 
0001 
0001 
0001 
0001 
0001 
0001 
0001 
0001 



0000 
0000 
0001 
0001 
0002 
0002 
0003 
0003 
0004 
0004 
0005 
0005 
0006 
0006 
0007 
0007 
0008 
0008 
0009 
0009 
0010 
0010 
0011 
0011 
0012 
0012 
0013 
0013 
0014 
0014 
0015 
0015 
0016 
0016 
0017 
0017 
0018 
0018 
0019 
0019 
0020 
0020 
0021 
0021 



A16-16 



APPENDIX XVI (Cont'd.) 



7. 

EXECUTE, ASSEMBLER 



TESTROUT SOURCE LISTING 



ZOOM 



AROUND 



AA 
AGAIN 



BB 



CC 



DCBCARD 



START 

SAVE 

BALR 

USING 

ST 

BUILD 

OPEN 

LOAD 

LR 

ST 

LA 

MVI 

CALL 

GET 

MVC 

PACK 

MVI 

LA 

L 

CALL 

MVC 

MVC 

MVC 

ED 

MVC 

PUT 

AP 

LA 

L 

MVI 

CALL 

CLOSE 

L 

RETURN 

DS 

DCB 



DS 
POOL DS 

DS 
DCBPRINT DCB 



WORK DS 
SAVEAREA DS 
BUFSIZE DC 
KEYSIZE DC 
SEEKTRAK DC 
IOCODE DS 
DS 





(14,12) 

2,0 

*,2,3 

13,SAVEAREA+4 

POOL, 4, 80 

(DCBCARD, (INPUT), DCBPRINT, (OUTPUT)) 

EP=DAROUT LOAD DAROUT INTO CORE 

15,0 ADDR OF ENTRY POINT TO REG 15 

0,EPT STORE ENTRY POINT TO EPT 

1 3 SAVEAREA 

IOCODE, X f D6' PREPARE FOR OPEN 

(15) , (BUFSIZE, KEYSIZE, SEEKTRAK, IOCODE, BUFAREA) OPEN 

DCBCARD, WORK GET RECORD 

BUFAREA (5), WORK GET KEY 

SEEKTRAK, WORK+76 (4) INSERT TRACK SEEK ADDRESS 

IOCODE, X '09' PREPARE FOR READ 

1 3 SAVEAREA 

15,'ePT LOAD ENTRY POINT ADDR TO REG 15 

(15) , (BUFSIZE, KEYSIZE, SEEKTRAK, IOCODE, BUFAREA) READ 

MASKC,MASKD 

MASKA, BUFAREA 

MASKB,BUFAREA+5 PREPARE FOR PRINT 

MASKC,BUFAREA+3 2 RECORD BEFORE UPDATING 

ADDRES+36(4) ,BUFAREA+81 

DCBPRINT, OUTPUT PRINT 

BUFAREA+3 2(3),VALUE UPDATE BY ADDING 

1 3 SAVEAREA 

15,'EPT LOAD ENTRY POINT ADDR TO REG 15 

IOCODE, X»E6» PREPARE FOR WRITE 

(15) , (BUFSIZE, KEYSIZE, SEEKTRAK, IOCODE, BUFAREA) CLOSE 

(DCBCARD,, DCBPRINT) 

13,SAVEAREA+4 

(14,12) 

4F 

DSORG=PS,MACRF=(GM) , DDNAME= INPUT, DEVD*RD,MODE=E , C 

RECFM*F,LRECL=80,BLKSIZE=80,BFTEK=S,BUFNO=2, C 

BUFCB=POOL,EODAD=ENDC CARD 
OD 

CL328 
4F 
DSORG=PS,MACRF=(PM) ,DDNAME=OUTPUT,DEVD=PR, C 

RECFM*F , LRECL= 80 ,BLKSI ZE=80 , BFTEK=S , BUFNO= 2 , C 

BUFCB^POOL 
CL80 
18F 

XL2'55' 
XL2'5 ! 
PLS'OOO' 
CL1 
OD 



X 
X 
X 

X 



FIELDS TO BE SET UP BY THE 
USER IN THIS SEQUENCE ONLY. 



A16-17 



APPENDIX XVI (Cont'd.) 



TESTROUT 


SOURCE 


LISTING (Cont'd.) 




BUFAREA 


DS 


CL8 5 


X 




DS 


OD 


X 


OUTPRINT 


DS 


OCL80 




MASKA 


DS 


CL5 






DC 


CL5' • 




MASKB 


DS 


CL5 






DC 


CL20' ' 




MASKC 


DC 


X f 2020202020' 




ADDRES 


DC 


CL40' ' 




DEPAK 


DS 


CL4 




VALUE 


DC 


P'l' 




EPT 


DS 


F 




MASKD 


DC 


X f 2020202020' 






END 


ZOOM 





PUNCH 



A-16-18 



APPENDIX XVI (Cont'd.) 
8. CONTROL CARDS FOR LINKEDIT TESTROUT 

//LINKEXEC JOB 0234 ,HUET,MSGLEVEL=1 

//LINK EXEC PGM= LINKEDIT ,PARM~'NCAL,XREF' 

//SYSPRINT DD DSNAME=PRTR,DISP=SYSOUT=A 

//SYSUT1 DD DSNAME^MYWORK, UNITED, SPACE=(TRK, (10,10)) , C 

// DISP=(NEW, DELETE) ,LABEL=(,NL) , C 

// VOLUME=(, ,1,1,SER=(111111)) 

//SYSLMOD DD DSNAME= TESTDA (TESTROUT) ,DISP= (OLD,KEEP) , UNITED, C 

// VOLUME=(, ,1,1,SER=(111111)) ,LABEL=(,NL) 

//SYSLIN DD * 

IEF236I ALLOCATION FOR LINKEXEC LINK 

IEF237I SYSPRINT ON 00E 

IEF237I SYSUT1 ON 190 

IEF237I SYSLMOD ON 190 

IEF237I SYSLIN ON 000 
****MLEA OPTIONS SPECIFIED - NCAL XREF 

****MLEB****TESTROUT NOW ADDED To'pARTITIONED DATA SET ORGANIZATION 

AS A MEMBER. 

NOTE: TESTROUT WILL BE A MEMBER OF THE PRIVATE LIBRARY TESTDA. 



A16-19 



APPENDIX XVI (Cont'd.) 
9. CONTROL CARDS FOR EXECUTING TESTROUT 

//TESTIN JOB 0234, ABC, MSGLEVEL-1 

//JOBLIB DD DSNAME=TESTDA,UNIT»1D,DISP« (OLD, KEEP), C 

// VOLUME- (,,1,1, SER* (111111)), LABEL- ( , NL) 

//STEPA EXEC PGM- TESTROUT 

//OUTPUT DD DSNAME=PRTR,DISP«SYSOUT=A 

//DDDISK DD DSNAME«DATA,UNIT=ID,DISP=(OLD,KEEP),LABEL=*(,SL) , C 

// VOLUME=(,,l,l,SER«(llllll)) 

//INPUT DD * 

IEF236I ALLOCATION FOR TESTIN STEPA 

IEF237I JOBLIB ON 190 

IEF237I OUTPUT ON 00E 

IEF237I DDDISK ON 190 

IEF237I INPUT ON 00C 



NOTE : 'TESTROUT 1 CALLS 'DAROUT' 

DD-NAME DDDISK IS REQUIRED FOR THE DATA SET 
TO BE UPDATED BY 'DAROUT'. 



A 16-20 



APPENDIX XVI (Cont'd.) 



10. 



LISTING OF RECORDS USED FOR 
UPDATING WITH DAROUT 



00031 


00031 


00041 


00041 


00062 


00062 


00072 


00072 


00071 


00071 


00081 


00081 


00082 


00082 


00091 


00091 


00101 


00101 


00111 


00111 


00112 


00112 


00121 


00121 


00122 


00122 


00131 


00131 


00032 


00032 


00011 


00011 


00132 


00132 


00141 


00141 


00142 


00142 


00102 


00102 


00152 


00152 


00151 


00151 


00182 


00182 


00161 


00161 


00162 


00162 


00171 


00171 


00172 


00172 


00181 


00181 


00191 


00191 


00021 


00021 


00022 


00022 


00192 


00192 


00201 


00201 


00202 


00202 


00211 


00211 


00212 


00212 


00051 


00051 


00052 


00052 


00092 


00092 


00061 


00061 


00001 


00001 


00002 


00002 


00012 


00012 


00042 


00042 



0003 
0004 
0006 
0007 
0007 
0008 
0008 
0009 
0010 
0011 
0011 
0012 
0012 
0013 
0003 
0001 
0013 
0014 
0014 
0010 
0015 
0015 
0018 
0016 
0016 
0017 
0017 
0018 
0019 
0002 
0002 
0019 
0020 
0020 
0021 
0021 
0005 
0005 
0009 
0006 
0000 
0000 
0001 
WOT 



A16-21 



APPENDIX XVI (Cont'd.) 
11. DATA RECORDS TO BE UPDATED WITH DAROUT 

IEF236I ALLOCATION FOR TESTIN STEPA 
IEF237I JOBLIB ON 190 
IEF237I OUTPUT ON 00E 
IEF237I DDDISK ON 190 



NOTE: THIS PRINTOUT IS 
PRODUCED BY TESTROUT. IT 
SHOWS THE DATA RECORDS ON 
DISK BEFORE THEY ARE UPDATED. 



IEF237I INPUT 


ON 00C 


00031 


00031 


00041 


00041 


00062 


00062 


00072 


00072 


00071 


00071 


00081 


00081 


00082 


00082 


00091 


00091 


00101 


00101 


00111 


00111 


00112 


00112 


00121 


00121 


00122 


00122 


00131 


00131 


00032 


00032 


00011 


00011 


00132 


00132 


00141 


00141 


00142 


00142 


00102 


00102 


00152 


00152 


00151 


00151 


00182 


00182 


00161 


00161 


00162 


00162 


00171 


00171 


00172 


00172 


00181 


00181 


00191 


00191 


00021 


00021 


00022 


00022 


00192 


00192 


00201 


00201 


00202 


00202 


00211 


00211 


00212 


00212 


00051 


00051 


00052 


00052 


00092 


00092 


00061 


00061 


00001 


00001 


00002 


00002 


00012 


00012 


00042 


00042 




NORMAL 



---1 
---1 
---1 
---1 
---1 
---1 
---1 

-._! 

---1 
---1 
---1 
---1 
---1 
---1 
---1 
---1 
---1 
-.-1 

---1 
---1 
---1 
---1 
---1 
---1 
---1 
-_-! 

---1 

---1 

---1 
1 

---1 
---1 
---1 
---1 
---1 
---1 
---1 
---1 
---1 

1 

1 

1 

---1 



0003 
0004 
0006 
0007 
0007 
0008 
0008 
0009 
0010 
0011 
0011 
0012 
0012 
0013 
0003 
0001 
0013 
0014 
0014 
0010 
0015 
0015 
0018 
0016 
0016 
0017 
0017 
0018 
0019 
0002 
0002 
0019 
0020 
0020 
0021 
0021 
0005 
0005 
0009 
0006 
0000 
0000 
0001 
0004 



END OF TASK 



A 16-22 



APPENDIX XVI (Cont'd.) 
12. DATA RECORD UPDATED WITH DAROUT 

IEF236I ALLOCATION FOR TESTIN STEPA 
IEF237I JOBLIB ON 190 
IEF237I OUTPUT ON 00E 
IEF237I DDDISK ON 190 



IEF237I 
00031 

00041 
00062 
00072 
00071 
00081 
00082 
00091 
00101 
00111 
00112 
00121 
00122 
00131 
00032 
00011 
00132 
00141 
00142 
00102 
00152 
00151 
00182 
00161 
00162 
00171 
00172 
00181 
00191 
00021 
00022 
00192 
00201 
00202 



INPUT 



wnr 

00212 
00051 



ON 00C 
00031 
00041 
00062 
00072 
00071 
00081 
00082 
00091 
00101 
00111 
00112 
00121 
00122 
00131 
00032 
00011 
00132 
00141 
00142 
00102 
00152 
00151 
00182 
00161 
00162 
00171 
00172 
00181 
00191 
00021 
00022 
00192 
00201 
00202 



00211 
00212 
00051 



NOTE: THIS IS A PRINTOUT 
PRODUCED BY A RERUN OF TESTROUT 
AFTER UPDATING THE RECORDS. 



-2 
-2 
-2 
-2 
-2 
-2 
-2 
-2 
-2 
-2 
-2 
-2 
-2 
-2 
-2 
-2 
-2 
-2 
-2 
-2 
-2 
-2 
-2 
-2 
-2 
-2 
-2 
-2 
-2 
-2 
-2 
-2 
-2 
-2 
"=T 
-2 
-2 



0003 
0004 
0006 
0007 
0007 
0008 
0008 
0009 
0010 
0011 
0011 
0012 
0012 
0013 
0003 
0001 
0013 
0014 
0014 
0010 
0015 
0015 
0018 
0016 
0016 
0017 
0017 
0018 
0019 
0002 
0002 
0019 
0020 
0020 

0021 
0005 



(5TRTS1 — 

00092 

00061 

00001 

00002 

00012 

00042 

TESTDA 
VOL SER 



00052 
00092 
00061 
00001 
00002 
00012 
00042 
NORMAL 

NOS=llllll.END 



-2 
-2 
-2 
-2 
-2 
-2 



innnr 

0009 
0006 
0000 
0000 
0001 
0004 



END OF TASK 



KEPT 



A 16-23 



APPENDIX XVI (Cont'd.) 
H. Card Decks 

The following card decks are included in this documentation: 

1. Source deck of DAROUT. 

2. Source deck of ITLOAD. 

3. Source deck of TESTROUT. 

4. Object deck of DAROUT. 

5. Data for ITLOAD. 

6. Data for TESTROUT. 



A 16-24 



Appendix 17 



PROJECT ADMIRAL APPENDIX XVI I -Part 1 

PRELIMINARY INDEXED SEQUENTIAL ACCESS METHOD (PISAM) 
VERSION 0, MODIFICATION LEVEL 



A. Abstract 



PISAM consists of a group of macros which are similar to the 
macros of BISAM/QISAM. The use of PISAM requires no special 
education for people who know BISAM/QISAM. PISAM itself uses 
BSAM and EXCP macros, but the PISAM programmer does not re- 
quire any knowledge of them. 

1. Authors: Michael Faix, IBM Germany 

Albert Henne, IBM Germany 

Peter Daendliker, IBM Switzerland 

2. Facilities 

PISAM creates and processes Indexed Sequential data sets 
on the 2311 under Pre-Beta or released OS. Processing 
may be sequential or random and additions can be in- 
serted. 

3. Availability 

First released version, February 1, 1966. 

4. Restrictions 

When being used under Pre-Beta OS, all Pre-Beta OS re- 
strictions apply to PISAM. The use of PISAM does not in- 
volve internal changes to Pre-Beta or released OS. PISAM 
can only create and process single volume data sets. 

5. Record Formats 

Only blocked or unblocked records of fixed length are 
allowed. 

6. Compatibility 

Data sets created by PISAM are not compatible with BISAM/ 
QISAM data sets. Also, the macros used by PISAM are not 
compatible with BISAM/QISAM macros. 

7. Conversion 

a. To convert PISAM data sets to BISAM/QISAM data sets, 
the user should retrieve the entire PISAM data set 
sequentially and create a new data set with QISAM. 

b. To facilitate conversion of programs containing 
PISAM macros to subsequent levels of PISAM or to 
BISAM/QISAM, the user should put all PISAM macros in 
one separate control section and branch to these 



Part I A17-1 



APPENDIX XVII-1 (Cont'd.) 

macros using BAL- instructions. To convert, he must 
only reassemble this one control section, not the 
entire program. 

8. Program Distribution 

Through Early Installation Centers. 

B. General Description 

1. PISAM provides the following macros: 

Macro 
Instruction 

IDCB Data control block, which describes the data set 
to be processed. In addition, the IDCB con- 
tains all the necessary codes to perform one 
specific function. (See PROCES entry in IDCB 
macro description.) 

IOPEN Initializes one data control block so that its 
associated data set can be processed. Only one 
data set can be opened by one IOPEN macro. 

IPUT Moves one logical record from the user's work 
area into an output buffer for writing (used 
only in loading an indexed sequential data set.) 

IGET Gets a logical record from an indexed sequential 
data set (sequential input) . 

IPUTX Returns an updated logical record to an indexed 
sequential data set (sequential update) . 

IREAD Retrieves randomly a logical record from an in- 
dexed sequential data set (random input) . 

IWRITE Returns an updated logical record to an indexed 
sequential data set (random update) . 

IADD Adds a new logical record to an indexed sequen- 
tial data set (insertion of additions). 

ICLOSE Disconnects one data set from the user's 

problem program. Only one data set can be 
closed by one ICLOSE macro. 

There is no overlap of I/O operations in the PISAM macros 
for loading and processing. In other words, after having 
issued a PISAM macro program, control is returned to the 
user only when all I/O operations concerning this macro 
have been terminated. 



Part 



A 17-2 



2. 



APPENDIX XVII-1 (Cont'd.) 

A write validity check is performed for all 2311 output 
operations. A key containing all X'FF' must not be used. 
Multiple I OPEN' s may not be executed during the loading 
of an indexed sequential data set even if the data set 
was closed by ICLOSE prior to issuing the second IOPEN. 

Deletions 



a. The user can flag records to be deleted. To do this, 
he must insert X'FF 1 in the first byte after the key 
in the logical record (RKP+KEYLEN+1) . This byte must 
never contain X'FF 1 as data. Also, because of the 
position of the deletion code, the key of the record 
must not extend to the last byte of the record. 

b. Flagging a record as deleted accomplishes the follow- 
ing: 

1) IGET will not supply the user with this record. 

2) IREAD with a key equal to the key of the record 
will result in a branch to the NOREC address. 

3) IADD with a key equal to the key of the record 
will result in the deleted record being phys- 
ically replaced by the added record. 



C. The PISAM Macros 



1. 



IDCB 



The IDCB macro has the same function as the DCB macro. 
Its operands are all keyword operands. They must be 
specified in the IDCB macro; they cannot be inserted from 
any other source. The operands are: 

PROCES 

The type of processing required: 



LOAD 

SEQIN 

SEQUP 

ADD 

RANDIN 

RANDUP 

RANDADD 



loading a data set 

sequential input processing 

sequential update 

insertion of additions 

random input 

random update 

random update and additions 



DDNAME Specifies the name of the DD statement that 
will be used to describe the data set to be 
processed. 

INTLAB Internal label, which is one alphanumeric char- 
acter. This character is the only operand of 



Part 



A 17-3 



BLKSIZE 



LRECL 



RKP 



APPENDIX XVII-1 (Cont'd.) 

all loading and processing macros. It is used 
by these macros to refer to the data set. Also, 
all labels generated in the PISAM macro expan- 
sions for the data set will end with this char- 
acter. 

Equals LRECL for unblocked records. Equals a 
multiple of LRECL for blocked records. It in- 
cludes dummy record space in blocked records 
(see DUMREC below). The maximum BLKSIZE is: 



-with unblocked records: 
-with blocked records: 



3600 bytes -2*KEYLEN 
3600 bytes-KEYLEN- 
(BLKSIZE/LRECL)*5 



With blocked records, there must be at least 
two primary records per block, i.e. the differ- 
ence between the blocking factor and the value 
specified in DUMREC must be greater than or 
equal to 2. (For example, ((BLKSIZE/LRECL) - 
DUMREC) >_2. 

Length of the logical record, in bytes, includ- 
ing actual key and data. It must be equal to 
the length of the work area. 

Relative key position of the actual key in the 
logical record. For example, if the key begins 
at position (at beginning of record), specify 
0. 



The key must not extend to the last position of 
the logical record. This is because the first 
byte after the key is used for a deletion code 
(X'FF 1 ) if the record is flagged as deleted. 
Thus, the highest allowable relative key posi- 
tion is LRECL-KEYLEN-1. 

KEYLEN Key length in bytes. 

KEYADDR Address of the field which contains the key of 
records to be retrieved randomly. 

For PROCES ADD OR RANDADD, KEYADDR must be 
equal to the address WORKAR+RKP. 

For PROCES RANDIN or RANDUP, KEYADDR may be any- 
where. 

WORKAR Address of the area in which the user presents 

his logical record to PISAM and into which PISAM 
brings the logical record to the user. It must 
be equal in length to LRECL. 



Part 



A 17-4 



APPENDIX XVII-1 (Cont'd.) 

CYLOFL Number of overflow tracks per cylinder, inclu- 
sive of track 0. The minimum number which can 
be specified for CYLOFL is 1. 

DUMREC Number of dummy records in a block. These dummy 
records provide a fast means for inserting addi- 
tions and retrieving them. The minimum DUMREC 
is 0; it must be for unblocked records. 

CYLTOT Number of cylinders for this data set. PISAM 

needs this information for the formatting of the 
cylinder index. The actual extent of the data 
set, as specified in the DD statement, may be 
lower. The data set must be on contiguous 
tracks. In calculating the value of CYLTOT for 
a specific data set, the fact should be taken 
into account that the EOF record occupies one 
entire track. 

EODAD Address of the end of data routine. The user 
must provide this with sequential processing. 

SYNAD Address of the user's synchronous error exit 

routine. A branch to this is the result of an 
unrecoverable (i.e., uncorrectable) I/O error 
during the execution of a PISAM macro. PISAM 
provides the address of a parameter list in 
register 1 upon entry to the SYNAD routine. 
This list contains 5 full word addresses, as 
follows: 



Displace- 



ment 



Register 



Address is Pointing to 



8 
12 

16 



(1) 

(1) 

(1) 
(1) 

(1) 



Channel program in use when 
the uncorrectable disk error 
occurred. 

Seek address in a double word 
in the form MBBCCHHR. 

First two sense bytes. 

Channel status word (last 7 
bytes) . 

Completion code: 
X'41' Permanent error 
X'42* Extent error 
X'44 1 10 request has been 
intercepted 
X'48' Not started or purged 
X f 4F ! Unable to read Home 
Address and RO during 
error correction 



Part 



A 17-5 



3. 



APPENDIX XVII-1 (Cont'd.) 

The user should make no attempt to continue 
processing in order to avoid unpredictable re- 
sults. He should terminate the task by an ABEND 
macro requesting a core storage dump. 



NOREC Address of user's "no 
branch to this is the 
being issued with a k 
set. It is the user 1 
that no IWRITE macro 
record which was not 
macro. Any attempt t 
terminating the task 

2. IDCB Operand Summary 



record found" routine. A 
result of an IREAD macro 
ey which is not in the data 
s responsibility to ensure 
is executed for a logical 
found by a previous IREAD 
o do so will result in PSAM 
by issuing an ABEND macro. 



PfcOcfiS- 


LOAD 


SEQIN 


SEQUP 


RANDIN 


RANDUP 


ADD 


RANDADD 


DDNAME 


X 


X 


X 


X 


X 


X 


X 


INTLAB 


X 


X 


X 


X 


X 


X 


X 


BLKSIZE 


X 


X 


X 


X 


X 


X 


X 


LRECL 


X 


X 


X 


X 


X 


X 


X 


RKP 


X 


X 


X 


X 


X 


X 


X 


KEYLEN 


X 


X 


X 


X 


X 


X 


X 


KEYADDR 


_ 


- 


_ 


X 


X 


X 


X 


WORKAR 


X 


X 


X 


X 


X 


X 


X 


CYLOFL 


X 


X 


X 


X 


X 


X 


X 


DUMREC 


X 


X 


X 


X 


X 


X 


X 


CYLTOT 


X 


X 


X 


X 


X 


X 


X 


EODAD 


_ 


X 


X 


_ 


_ 


« 


_ 


SYNAD 


X 


X 


X 


X 


X 


X 


X 


NOREC 


- 


- 


- 


X 


X 


- 


X 



X (REQUIRED) 
Loading (PROCES=LOAD) 



- (NOT REQUIRED) 



Records are loaded into the primary area from the user's 
work area by IPUT macros. Indexes are built during load 
ing. The track index is always the first block in each 



Part 



A 17-6 



APPENDIX XVII-1 (Cont'd.) 

The user should make no attempt to continue 
processing in order to avoid unpredictable re- 
sults. He should terminate the task by an ABEND 
macro requesting a core storage dump. 

NOREC Address of user's "no record found" routine. A 
branch to this is the result of an IREAD macro 
being issued with a key which is not in the data 
set. It is the user's responsibility to ensure 
that no IWRITE macro is executed for a logical 
record which was not found by a previous IREAD 
macro. Any attempt to do so will result in PSAM 
terminating the task by issuing an ABEND macro. 

IDCB Operand Summary 



PROCES= 


LOAD 


SEQIN 


SEQUP 


RANDIN 


RANDUP 


ADD 


RANDADD 


DDNAME 


X 


X 


X 


X 


X 


X 


X 


INTLAB 


X 


X 


X 


X 


X 


X 


X 


BLKSIZE 


X 


X 


X 


X 


X 


X 


X 


LRECL 


X 


X 


X 


X 


X 


X 


X 


RKP 


X 


X 


X 


X 


X 


X 


X 


KEYLEN 


X 


X 


X 


X 


X 


X 


X 


KEYADDR 


- 


_ 


- 


X 


X 


X 


X 


WORKAR 


X 


X 


X 


X 


X 


X 


X 


CYLOFL 


X 


X 


X 


X 


X 


X 


X 


DUMREC 


X 


X 


X 


X 


X 


X 


X 


CYLTOT 


X 


X 


X 


X 


X 


X 


X 


EODAD 


- 


X 


X 


_ 


_ 


_ 


_ 


SYNAD 


X 


X 


X 


X 


X 


X 


X 


NOREC 




- 


- 


X 


X 


- 


X 



X (REQUIRED) 
Loading (PROCES=LOAD) 



(NOT REQUIRED) 



Records are loaded into the primary area from the user's 
work area by IPUT macros. Indexes are built during load 
ing. The track index is always the first block in each 



Part I 



A 17-7 



APPENDIX XVII-1 (Cont'd.) 

cylinder. The cylinder index is the second block of the 
first cylinder of the data set. 

After the index(es) the remainder of track is filled 
with dummy records (if there is space) to be used for 
future additions. Track of each cylinder can never be 
a primary track. If CYLOFL=n>l, then n-1 additional 
tracks are also filled with dummy records. The tracks 
used exclusively for dummy records in this case will be 
tracks 1 through n-1. These dummy records are always un- 
blocked, regardless of whether or not blocking is speci- 
fied for the records in the primary area. 

The highest key in the data set is placed into the cyl- 
inder index. Additional records with keys higher than 
this key cannot be inserted into the data set. In order 
to allow these additions to be inserted, the user has to 
load some dummy records with higher keys. These dummy 
records should have X'FF 1 in the first byte after the key 
to flag them as deleted records (see "Deletions") . 

During loading, the IOPEN macro may be used only once. In 
other words, you cannot begin loading, close the data set, 
and resume loading later. 

The track index-and cylinder index must fit within one 
track. For key lengths up to 16 bytes, this causes no 
restriction. For keys longer than 16 bytes, the key 
length which can be used depends on the value specified 
by CYLTOT. 



Part I A 17-8 



XJ 

2 



4. Record Format 

Records are loaded in the following format: 
a. Fixed Length Unblocked : 



Original 
Key 



Link 
Field 



Original 
Key 



KEYLEN 5 Bytes KEYLEN 



Logical Record 
Actual 
Key 



1cey£en 



NOTE : When the data set 
is first loaded, 
the actual key in 
the logical record 
is the same as the 
original key. 



_y 



RKP LRECL, BLKSIZE, and 

length of user work area 



> 



b . Fixed Length Blocked : 



Highest 
Key In 
Block 



Link 
Field 



KEYLEN 5 Bytes 



•First Record- 
Logical Record 
Actual I 
Key I 



Link 
Field 




RKP ]LRECL and length of 
user work area. 



J 



-Second Record- 
Logical Record' 
IActuall 
Key 



BLKSIZE-n*LRECL 



> 

>d 
m 
z 

a 

H-t 
X 

x 

< 



Link 
Field 



nth Record- 
Logical Record 
Actual 
Key 



n 
o 

3 



APPENDIX XVII-1 (Cont'd.) 



5. Cylinder Layout 

This example shows the cylinder layout for a data set with 
unblocked records and CYLOFL^. 

a. Cylinders other than the first cylinder of the data 
set : 



Track |ff] brack Index) |FF 



Track 1 |FF| 

Track 2 |FF| 

Track 3 |08| 

Track 4 J2JLJ 

Track 9 |8 3| 



FF 



FF 



J fc 



08 



21 



J Ho 

I 12 2 



83 



J lEO 



| FF 


IN 
IN 
IN 
IN 
IN 

||97| 


FF | 


| FF 


FF | 


| FF 


FF | 


1 io 


20 | 


| 22 


40 | 


| 90 


97 | 



Overflow 
Area 



Primary 
Area 



6. 



b. For the first cylinder of the data set, only track 
zero differs from the above: 

Track [FF) [Track Index| |FF| [Cylinder Index FF FF 

Track Index Format 



7. 



Track 

Index 

Key 



Track 

Format 

Directory 



Highest Key 

1st Primary 

Track 



Highest Key 

2nd Primary 

Track 



KEYLEN 10 bytes 
Cylinder Index Format 



•{ S- 



Highest Key 

nth Primary 

Track 



Cylinder 

Index 

Key 



Cylinder 

Format 

Directory 



Lowest 
Key In 
Data 
Set 



Highest 
Key In 
Data 
Set 



Highest 
Key 1st 
Cylinder 



Highest 
Key 2nd 
Cylinder 



-/*■ 



Highest 
Key Last 
Cylinder 



KEYLEN 12 bytes 

8. Sequential Input (PROCES=SEQIN) 

IGET: Provides one logical record in the user's work 
area. Records are provided in sequential order 
by actual key. Records with deletion codes are 
not provided. 



Part 



A17-10 



APPENDIX XVII-1 (Cont'd.) 



Sequential Update (PROCES=SEQUP) 



IGET: Same as in Sequential Input. 

IPUTX: Moves one logical record from the user's work 

area to the output buffer for eventual writing. 
This record is always the record for which the 
last previous IGET macro was issued. 

IPUTX need only be issued if the contents of the 
logical record provided by IGET is altered (up- 
dated) . Thus, several IGET's may be issued 
before issuing an IPUTX. 

The user must not change the actual key when up- 
dating. There is no built-in check to detect 
this . 



10. Random Input (PROCES=RANDIN) 
I READ: 



Provides a logical record in the user's work 
area with an actual key equal to the key at 
KEYADDR. If no record is found with this key, 
a branch is taken to the NOREC address. 



11 



Random Update (PROCES=RANDUP) 



IREAD: Same as in Random Input. 

IWRITE: Moves one logical record from the user's work 
area and writes the block containing it. This 
record is always the record for which the last 
previous IREAD macro was issued. 

IWRITE need only be issued if the contents of 
the logical record provided by IREAD is altered 
(updated). Thus, several IREAD's may be issued 
before issuing an IWRITE. 

The user must not change the actual key when 
updating. There is no built-in check to detect 
this. The last previous IREAD must have been 
successfully completed for the IWRITE to be 
effective. There is a check for this and if 
the IREAD was not successful, an abnormal end 
of job termination will result when IWRITE is 
issued. 

12. Insertion of Additions (PROCES=ADD) 

IADD: Adds one logical record to the data set. 

The data set is searched randomly for an origi- 
nal key higher than or equal to the key of the 



Part 



A17-11 



13. 



APPENDIX XVII-1 (Cont'd.) 

addition. The addition or the primary record is 
then moved to the first available dummy record. 
Logical records are always linked in actual key 
order via the link field. 

The search for a dummy record in the overflow 
area to provide space for the record which must 
be moved begins in that cylinder where the high 
or equal condition occurs. If no space is found 
there, the search proceeds to the following cyl- 
inders and wraps around to the beginning of the 
data set. 

The address specified by KEYADDR must be equal 
to WORKAR+RKP. 

Random Update and Additions (PROCES=RANDADD) 

I READ: Same as in Random Input. 

IWRITE: Same as in Random Update. 

IADD: Same as in Insertion of Additions. 



The user must not issue an IADD macro between 
the issuing of an IREAD macro and an IWRITE 
macro for the corresponding record. There is a 
check for this and if this rule is violated, an 
abnormal end of job termination will result when 
IWRITE is issued. 

The address specified by KEYADDR must be equal 
to WORKAR+RKP. 



Part 



A17-12 



APPENDIX XVI I -1 (Cont'd.) 
14. Summary of Loading and Processing Macros 
PROCES= 



LOAD 


SEQUlti 


SfiQUP 


RANDIN 


RANDUP 


ADD 


RANDADD 


IOPEN ch 


IOPEN ch 


IOPEN ch 


IOPEN ch 


IOPEN ch 


IOPEN ch 


IOPEN ch 


I PUT ch 
















IGET ch 


IGET ch 














IPUTX ch 




















IADD ch 


IADD ch 








I READ ch 


I READ ch 




I READ ch 










IWRITE ch 




IWRITE ch 


ICLOSE ch 


ICLOSE ch 


ICLOSE ch 


ICLOSE ch 


ICLOSE ch 


ICLOSE ch 


ICLOSE ch 



ch (Character, same as INTLAB) 



Core Storage Requirements - The macro 
PISAM macro, with the exception of the 
bytes in length. The IDCB macro itsel 
necessary code for performing the func 
PROCES in the IDCB macro. The figures 
lowing table represent maximum core st 
for the indicated function to be perfo 
storage requirements for BSAM are not 
some cases (LRECL less than 257 bytes 
inserting additions into a data set wi 
the actual core storage requirements a 
given in the table. 



expansion of each 

IDCB macro, is 12 
f contains all the 
tion defined by 

given in the fol- 
orage requirements 
rmed. The core 
included here. In 
or DUMREC=0 when 
th blocked" records) 
re less than those 



Part I 



A17-13 



-a 
Q 



D. Core Storage Requirements In Bytes 



i 



PROCES= 


BLOCKED RECORDS 


UNBLOCKED RECORDS 


LOAD 


2150+ ( (1 7+CYLTOT-CYLOFL) *KEYLEN) + 
+BLKSIZE+((BLKSIZE/LRECL)*5) 


2150+((18+CYLTOT=CYLOFL)*KEYLEN)+ 
+LRECL 


SEQIN or 
SEQUP 


1450+BLKSIZE+LRECL+(5*KEYLEN)+ 
+((BLKSIZE/LRECL)*5) 


1450+BLKSIZE+LRECL+(7*KEYLEN) 


RANDIN 


1300+((15+CYLTOT=CYLQFL)*KEYLEN)+ 
+BLKSIZE+((BLKSIZE/LRECL)*5) 


1250+((16+CYLTOT-CYLOFL)*KEYLEN)+ 
+BLKSIZE 


RANDUP 


1 7 50+ ( (1 5+ CYLTOT=CYLOFL) *KEYLEN) + 
+BLKSIZE+((BLKSIZE/LRECL)*5) 


1650+((16+CYLTOT-CYLOFL)*KEYLEN)+ 
+BLKSIZE 


ADD 


2850+((16+CYLTOT=CYLOFL)*KEYLEN)+ 

+BLKSI ZE+LRECL+ ( (BLKSIZE/LRECL) *5) 


2 200+((16+CYLTOT-CYLOFL)*KEYLEN)+ 
+BLKSIZE 


RANDADD 


3350+ ( (16+CYLTOT=CYLOFL) *KEYLEN) + 

+BLKSIZE+LRECL+((BLKSIZE/LRECL)*5) 


2 500+((16+CYLTOT-CYLOFL)*KEYLEN)+ 
+BLKSIZE 



> 

m 
z 
o 

X 

X 

< 



n 
o 

3 



APPENDIX XVII-1 (Cont'd.) 

E. Calculating Auxiliary Storage Requirements for the 2311 

As the number of cylinders for one data set must be defined in 
the IDCB macro by the CYLTOT entry, the following formulas are 
provided in order to enable the user to calculate the value of 
CYLTOT for a given number of logical records to be loaded . 

1. The capacity calculations are based on the following 
formulas : 

Capacity per track: 3625 
Bytes required by a data record 

a. Data record (except the last record) 

81+1,05(K L +D L ) 

b. Data record (last record) 

20+(K L +D L ) 

Where: 

Kt = key length 
D L = data length 

2. Calculation of CYLTOT 

CYLTOT = N 

R*(10-CYLOFL)*((BLKSIZE/LRECL)-D MREC) 

Where R is calculated as follows and rounded down to the 
next smallest integer. 



a. 



Unblocked 

R = 3686+(0.05*(2*KEYLEN+LRECL+5)) 
81+ (1 . S* (2*KEYL£N+LkE£L+S) ) 



b. Blocked 

R = 3686+ (0 . 05* (KEYLEN+ ( (BLKSI ZE/LRECL) * (LRECL+5) ) ) ) 
81+ (1 . 05* (KEYLEN+ ( (BLKSI Zfc/LRECL) * (LRECL+5) ) ) ) 

N = Total number of logical records to be loaded. 



CYLTOT 

BLKSIZE 

LRECL 

DUMREC 

CYLOFL 

KEYLEN 



See IDCB macro description 



Part I 



A17-15 



APPENDIX XVII-1 (Cont'd.) 
F. Messages 

The following messages can occur. All messages are printed on 
the 1052 console typewriter. 

1. Error condition which can occur during execution of any 
PISAM macro. 

EXCP - PERM DISK ERROR 

Reason: This can occur during the execution of each 
macro for loading and processing. This is 
the result of an uncorrectable disk error. 
The standard error recovery procedures have 
been executed prior to the printing of the 
message. 

Action: Program control is transferred to the 

user's synchronous error routine specified 
in the SYNAD entry of the IDCB macro. 

Note: Extent error during loading may imply that 
non-contiguous cylinders were allocated. 

2. PR0CES=L0AD 

a. MULTIPLE IOPEN 

Reason: An attempt was made to open a data set for 
loading which was already opened once. 
The message is issued even if the data set 
was closed (ICLOSE) prior to issuing the 
second IOPEN. 

Action: Termination of the task by an ABEND macro 
requesting a core storage dump. ABEND 
code is 4. 

b. SEQCHECK KEY 
AA.. .A 
AFTER 

RR R 

RECORD BYPASSED 

Reason: Sequence check or duplicate key check 
occurred during loading. 

Action: Record AA. . .A is bypassed and processing 
continues . 

c. LAST ENTRY IN CYL INDEX FILLED 

Reason: All entries in the cylinder index (limited 
by CYLTOT) are filled. 



Part I A17-16 



APPENDIX XVII -1 (Cont'd.) 

Action: The logical record in the work area is not 
loaded into the data set. After closing 
the data set, message 4 is printed and the 
task is terminated by an ABEND macro. 
ABEND code is 16. 

d. LAST KEY IS 
AA. . .A 

Reason: Data set has been closed. AA. . .A is the 

key of the last logical record loaded into 
the data set. 

Action: Return to caller (user program). 

3. PROCES = ADD 

RANDIN 
RANDUP 
RANDADD 

a. RECORD WITH KEY 

CANNOT BE ADDED. ADDIT REC BYPASSED. 

Reason: This occurs during an IADD macro. The 

logical record has a key higher than the 
highest key in the data set. 

Action: The addition record is not inserted and 
processing continued. 

b. RECORD WITH KEY 
AA. ..A 

EXISTS ALREADY. ADDIT REC BYPASSED. 

Reason: This occurs during an IADD macro. An 

attempt is being made to insert a logical 
record into the data set when a logical 
record with the same key already exists. 

Action: The addition record is not inserted and 
processing continues. 

c. DATA SET IS FILLED. 
RECORD WITH KEY 
AA. . .A 

was not INSERTED. 

Reason: This occurs during an IADD macro. All 

overflow areas were filled with addition 
records. The logical record indicated by 
the message could not be inserted into the 
data set. 



Part I A 17-17 



G. 



Action: 



APPENDIX XVII -1 (Cont'd.) 

Termination of the task by an ABEND macro. 
ABEND code is 104. 



d. WRONG MACRO SEQUENCE 
Reason: 



Action: 



This occurs during an IWRITE macro. An 
IWRITE macro was given which was not immed- 
iately preceded by a successfully executed 
I READ macro. 

Termination of the task by an ABEND macro 
requesting a core storage dump. ABEND code 
is 108. 



Maintenance 



While no maintenance commitments are implied, problem reports 
with full documentation should be sent to the authors c/o IBM 
Germany: 

IBM Germany 
7032 Sindelfingen 
Postfach 66 
Germany 



To the attention of: 

Mr. Michael Faix, Dept. 427 
Early Installation Group 



Mr. Albert Henne, Dept. 429 
Systems Support Group 

Mr. Peter Daendliker, Dept . 427 
Early Installation Group 

Full documentation must include: 

1. 



random input 
random update 
insertion of additions 
random update $ additions 

[loading a data set J 



[""sequential input 
I sequential update 



] 



Console status at the time the problem was encountered. 

2. Full core dump. 

3. Assembly listing of program. 

4. Listing of all data used including a disk dump of the 
ISAM data set. 

5. Narrative of the expected performance of the program. 



Part 



A17-18 



APPENDIX XVII-1 (Cont'd.) 
H. Restrictions, Version 0, Modification Level 

1. Programs can be assembled only in Early Installation Cen- 
ters under Protios V5 L5 (Macro Library V5 L4) . The mini- 
mum system configuration is 128K plus one 7-track and four 
9-track tape units. 

2. While the PISAM routines have been tested for many combi- 
nations of situations, it is almost certain that some 
errors remain. You should test your own special case very 
carefully. 

I. Creation of PISAM (under Protios) 

1. Punch two card decks from the DTR. The DTR is a 9- track- 
tape containing: 

a. A tape mark. 

b. The PISAM package 80/80 unblocked. 

c. A tape mark. 

d. A sample program 80/80 unblocked. 

e. A tape mark. 

2. Place the PISAM package (card deck) in the 2540 read 
hopper. 

3. Mount a disk pack containing the Protios Macro Library 
(Version 5 Level 4) on 190. 

4. Mount Protios tape (Version 5 Level 5) on 282. 

5. IPL from 282. Perform device switching. Protios will 
insert all PISAM macros into the Protios macro library. 

J. Sample Program Description 

1. The purpose of this sample is: 

a. To show the user how to use the PISAM macros. 

b. To provide a source deck for an assembly so that 
the user can check if he has received a correct ver- 
sion of PISAM. 

c. To show how PISAM works during execution. 



Part I A17-19 



2. 



APPENDIX XVII -1 (Cont'd.) 

The significant characteristics of the data set to be 
processed are: 



.Block size 

.Logical record length 

.Key length 

.Relative key position 

.Total number of cylinders 

.Number of dummy records per block 



BLKSIZE=700 

LRECL =100 

KEYLEN 

RKP 

CYLTOT 

DUMREC 



3. 



6 

9 

10 

4 

.Number of overflow tracks per cylinder CYLOFL = 2 
.The ddname of the DD control statement describing the 
data set to be created and processed is DDPISAM. 
.PRINT is the ddname of the DD control statement defining 
output on the line printer. 

The sample program is divided into the following parts: 

a. Loading the indexed sequential data set (PROCES=LOAD) 

This part starts at the label LOAD. The IDCB de- 
scribing the data set to be created is named DCBLOAD. 
As the keys of the logical records are generated by 
the sample program itself the user is not concerned 
with the handling of data cards. All logical records 
contain the words 'LOAD REC in the data area to 
distinguish them from addition records which will be 
inserted later. In order to provide space and link- 
age facilities for higher additions, a number of 
logical records with delete codes (containing X'FF' 
in the first position after the key) and with keys 
higher than 003600 are also loaded. The key of the 
last logical record that is not delete-coded record 
is 003600; however, the highest key of the data set 
is 003792. By loading these deleted logical records, 
addition records with keys up to 003792 can be in- 
serted. 

b. Random processing (PROCES=RANDADD) 

This part starts at the label RANDADD. The IDCB 
describing the data set to be processed is named 
DCBRAND. In this portion of the sample program ad- 
dition records are inserted into the data set and 
all logical records with an even-numbered key are 
randomly updated by inserting 'UPDATED* into the 
data portion. The keys are generated in alternating 
sequence starting from 000001 and 003790. Each ad- 
dition record and each updated record (after it has 
been retrieved again) is printed. The addition 
records are marked by 'ADDITION' in the data portion. 



Part 



A 17-20 



APPENDIX XVII -1 (Cont'd.) 

c. Sequential processing (PROCES=SEQUP) 

This is the last part and starts with the label SEQ. 
The IDCB describing the data set to be sequentially 
updated is named DCBSEQ. All logical records in the 
data set are sequentially retrieved, updated (by in- 
serting 'SEQ' into the data portion of the record) 
and printed. The logical records with keys from 
000001 to 000300 appear consecutively without gaps. 
The highest key which appears at the end of sequen- 
tial updating is 003790 (the logical record with the 
key 003792 exists still in the data set but it is not 
retrieved because it is a deleted record) . 

At the end of each type of processing, a message is 
printed on the 1052 console printer. The output on 
the printer will consist of approximately 70 pages. 



Part I A 17-21 



APPENDIX XVII-1 (Cont'd.) 



§JOB 












0000010 


MODE -ASSEMBLE 












0000020 


EXECUTE, ASSEMBLER 










0000030 


TITLE 


'PI SAM EXAMPLE' 










0000040 


* 












0000050 


***EXAMPLE FOR 


PROGRAMMING PISAM 








0000060 


*** 












0000070 


START START 












0000080 


SAVE 


(14,12) 










0000090 


* 












0000100 


*LOAD BASIS REGISTER 










0000110 


BALR 


2,0 










0000120 


USING 


*,2 










0000130 


USING 


*+4000,3 










0000140 


USING 


*+8000,4 










0000150 


USING 


*+12000,5 










0000160 


LA 


3,4000(2) 










0000170 


LA 


4,4000(3) 










0000180 


LA 


5,4000(4) 










0000190 


* 












0000200 


*OPEN PRINTER 












0000210 


OPEN 


(PRINT, (OUTPUT)) 








0000220 


*** 












0000230 


*** 












0000240 


*LOAD PI SAM DATA SET 










0000250 


*** 












0000260 


LOAD IOPEN 


L 


OPEN 


FOR 


LOADING 




0000270 


L 


11,F900 


NBR OF RECORDS TO BE 


i LOADED 


0000280 


LA 


8,4(0) 


LOAD 


REG 


FOR KEY CREATION 


0000290 


* 












0000300 


*LOOP FOR LOADING 










0000310 


LOADLP CVD 


8, CON 


CONVERT TO DECIMAL 




0000320 


UNPK 


KEY(6),CON+4(4) 


UNPACK KEY INTO RECORD 


0000330 


01 


KEY+5,X'F0' 










0000340 


MVC 


WORK+92(6) ,KEY 


KEY TWICE IN RECORD 




0000350 


MVC 


KEY+8(8),KLOAD 


MARK 


REC 


AS LOADED 




0000360 


I PUT 


L 


LOAD 


RECORD 




0000370 


LA 


8,4(8) 


INCREASE 


KEY BY 4 




0000380 


BCT 


11, LOADLP 


LOOPING 






0000390 


* 












0000400 


*LOAD DELETED RECORDS TO RESERVE SPACE FOR HIGHER ADDITIONS 


0000410 


LOADSW NOP 


LOADEND 










0000420 


MVI 


LOADSW+l,X'F0' 


SET PREVIOUS SWITCH 




0000430 


MVI 


KEY+6,X'FF' 


MARK 


RECORD AS DELETED 


0000440 


L 


11,F48 


LOAD 


LOOP COUNT 




0000450 


B 


LOADLP 


LOOP 


FOR 


LOADING DELETED 


0000460 


* 




RECS 






0000470 


*END OF LOADING 












0000480 


LOADEND ICLOSE 


L 










0000490 


WTO 


'END OF LOADING 


i 








0000500 


MVI 


KEY+6,C ' 


CLEAR DELET CODE IN 


WORKAREA 


0000510 


*** 












0000520 


*** 












0000530 


*ADD AND UPDATE 


RECORDS RANDOMLY 








0000540 


* 












0000550 


RANDADD IOPEN 


R 


OPEN 


FOR 


ADDING AND 


UPDATING 


0000560 


CNTRL 


PRINT, SK,1 










0000570 



Part 



A 17-22 



APPENDIX XVII-1 (Cont'd.) 





L 


11,F536 


LOAD LOOP COUNTER 


0000580 




SR 


8,8 


PREPARE REGISTERS FOR 


0000590 




LA 


9,2(0) 


KEY CREATION 


0000600 




L 


10,F3795 




0000610 


*LOOP 1 


FOR ADDING AND UPDATING 




0000620 


ADDLP 


LA 


8,3(8) 


INCREASE KEY=N*3 


0000630 




LR 


1,8 




0000640 




MVI 


FIVE+1,X'00' 


ALLOW TEST FOR KEY DIV BY 5 


0000650 




BAL 


6,ADDROUT 


GO TO ADD AND/OR UPDATE 


0000660 




LR 


1.9 




0000670 




BAL 


6,ADDR0UT 


GO TO ADD AND/OR UPDATE 


0000680 




LA 


9,3(9) 


INCREASE KEY=2+N*3 


0000690 




MVI 


FIVE+l,X'FO f 


NO TEST FOR KEY DIV BY 5 


0000700 




S 


10, F5 


REDUCE KEY=N*5 BY 5 


0000710 




BC 


12,ADDLP1 


IF KEY NOT GT 0, BYPASS KEY 


0000720 




LR 


1,10 




0000730 




BAL 


6,ADDROUT 


GO TO ADD AND/OR UPDATE 


0000740 


ADDLP1 


BCT 


11, ADDLP 


END OF ADDLOOP 


0000750 




LA 


8,1(0) 


CREATE KEY=1 


0000760 




LA 


9,5(0) 


CREATE KEY=5 


0000770 


ADDLP2 


MVI 


FIVE+1,X'00 ! 


ALLOW TEST FOR KEY DIV BY 5 


0000780 




LR 


1,8 


CREATE KEY=1+N*3 


0000790 




BAL 


6,ADDROUT 


GO TO ADD AND/OR UPDATE 


0000800 




C 


8,F300 


CREATE NO KEY GT 300 


0000810 




BH 


ADDEND 


IN THIS LOOP 


0000820 




LA 


8,3(8) 




0000830 




C 


9,F300 


CREATE NO KEY GT 300 


0000840 




BH 


ADDLP2 


IN THIS LOOP 


0000850 




MVI 


FIVE+1,X'F0' 


NO TEST FOR KEY DIV BY 5 


0000860 




LR 


1,9 


CREATE KEY=N*5 


0000870 




BAL 


6,ADDROUT 


GO TO ADD AND/OR UPDATE 


0000880 




LA 


9,5(9) 




0000890 




B 


ADDLP2 




0000900 


* 








0000910 


*SUBROUTINE FOR 


ADD AND/OR UPDATE RECORDS 


0000920 


ADDROU' 


r ST 


6, SAVE 6 


SAVE RETURN ADDRESS 


0000930 




ST 


l,FWORD 


STORE KEY FOR CHECKING 


0000940 




CVD 


l,CON 


CONVERT TO DECIMAL 


0000950 




UNPK 


KEY(6),CON+4(4) 


UNPACK KEY INTO RECORD 


0000960 




01 


KEY+5,X'F0' 




0000970 




MVI 


ADDSW+l,X'00 f 


ALLOW ADDING 


0000980 


FIVE 


NOP 


ADDROUTO 




0000990 




CLI 


KEY+5,X'F0 f 


IF KEY DIV BY 10 


0001000 




BF 


FIVE1 


ALLOW NO ADDING 


0001010 




CLI 


KEY+5,X'F5 f 


IF KEY NOT DIV BY 5 


0001020 




BNE 


ADDROUTO 


ALLOW ADDING 


0001030 


FIVE1 


MVI 


ADDSW+ljX'FO' 




0001040 


ADDROU' 


ro C 


1,F3600 


HIGHER ADDITION 


0001050 




BH 


ADDSW 


YES 


0001060 




TM 


FWORD+3,X'03' 


RECORD LOADED 


0001070 




BC 


8,ADDR0UT1 


YES, NO ADDING 


0001080 


ADDSW 


NOP 


ADDROUT2 


IF SET NOR ADD NEITH UPDATE 


0001090 




MVC 


WORK+92(6) ,KEY 


KEY TWICE IN RECORD 


0001100 




MVC 


KEY+8(8),KBLANK 


CLEAR WORKAREA 


0001110 




MVC 


KEY+12(8) ,KADD 


MARK REC AS ADDITION 


0001120 




IADD 


R 


ADD RECORD 


0001130 




WRITE 


DECP1,SF, PRINT, 


WORK PRINT ADD REC 


0001140 



Part I 



A 17-23 



APPENDIX XVII-1 (Cont'd.) 



DECP1 

PRINT, 12 

R READ RECORD RANDOMLY 

FWORD+3,X'01' KEY EVEN 

l,ADDROUT2 NO, NO UPDATING 

WORK+50(7),KUPD UPDATE RECORD RANDOMLY 

R WRITE UPDATED RECORD 

R READ UPDATED RECORD 

DECP2,SF, PRINT, WORK PRINT UPDATED REC 

DECP2 

PRINT, 12 

WORK+ 5 ( 7 ) , KB LANK CLEAR WORKAREA 

6,SAVE6 RESTORE RETURN ADDR 

6 GO BACK 



CHECK 

PRTOV 
ADDROUT1 I READ 

TM 

BC 

MVC 

IWRITE 

I READ 

WRITE 

CHECK 

PRTOV 

MVC 
ADDROUT2 L 

BR 

*END OF ADDING AND UPDATING 

ADDEND ICLOSE R 

WTO 'END OF ADDING AND UPDATING* 
*** 

*** 

^SEQUENTIAL RETRIEVING AND UPDATING 
*** 

SEQ IOPEN S OPEN FOR SEQUENTIAL 

CNTRL PRINT, SK,1 PROCESSING 

SEQLP IGET S READ RECORD SEQUENTIALLY 

MVC WORK+70(3),KSEQ UPDATE RECORD 

WRITE DECP3,SF, PRINT, WORK 

CHECK DECP3 

PRTOV PRINT, 12 

IPUTX S WRITE BACK SEQUENTIALLY 

B SEQLP GO ON 

*END OF SEQUENTIAL PROCESSING 

SEND WTO 'END OF SEQUENTIAL PROCESSING' 

ICLOSE S 

RETURN (14,12) END OF PROGRAM 
*** 

*HANDLING OF PERMANENT I/O ERROR 

* 

IOERR WTO ' I/O-ERROR' 

ABEND 808, DUMP ABNORMAL END WITH CORE DUMP 
*RECORD NOT FOUND BY RANDOM PROCESSING 
NOTFD MVC WT01+8(6) , KEY MOVE KEY TO MESSAGE 

3UND' WRITE KEY 

GO BACK TO RANDOM 



WTOl WTO 

B 
*** 


NOT 
ADDLP 


*** 




*RECORD AREA 

* 




WORK DC 

KEY DC 

DC 

DC 

* 


C'PISAMSET' 
CL6' ' 
5CL16' ' 
CL5' *» 


* CONSTANTS 
* 




KLOAD DC 


C'LOAD REC 



KEY FIELD WITHIN RECORD 
END OF RECORD 



0001150 
0001160 
0001170 
0001180 
0001190 
0001200 
0001210 
0001220 
0001230 
0001240 
0001250 
0001260 
0001270 
0001280 
0001290 
0001300 
0001310 
0001320 
0001330 
0001340 
0001350 
0001360 
0001370 
0001380 
0001390 
0001400 
0001410 
0001420 
0001430 
0001440 
0001450 
0001460 
0001470 
0001480 
0001490 
0001500 
0001510 
0001520 
0001530 
0001540 
0001550 
0001560 
0001570 
0001580 
0001590 
0001600 
0001610 
0001620 
0001630 
0001640 
0001650 
0001660 
0001670 
0001680 
0001690 
0001700 
0001710 



Part 



A 17-24 



APPENDIX XVII -1 (Cont'd.) 



KADD 


DC 


CADDITION' 


KUPD 


DC 


C 'UPDATED 1 


KSFQ 


DC 


C'SEQ' 


KBLANK 


DC 


CL8' • 


CON 


DC 


D'O 1 


F900 


DC 


F»900 f 


F48 


DC 


F'48' 


F3600 


DC 


f^oo 1 


F3795 


DC 


F f 3795' 


F536 


DC 


F'536 f 


F300 


DC 


F'300 f 


FWORD 


DC 


F f 0' 


SAVE 6 


DC 


A(0) 


F3 


DC 


F'3' 


F5 


DC 


F'5' 


*** 






*DATA 


CONTROL 


BLOCKS 


* 







NBR OF VALID LOADED RECORDS 
NBR OF DELETED LOADED RECS 
HIGHEST VALID LOADED KEY 
HIGHEST DELETED KEY+5 



DCBLOAD IDCB 



DCBRAND IDCB 



DCBSEQ IDCB 

PRINT DCB 

END 
PUNCH 



DDNAME=DDPISAM,LRECL=100,BLKSIZE=700, C 

KEYLEN= 6 , RKP- 9 ,DUMRECM , CYLOFL= 2 , C 

CYLTOT=10,WORKAR=WORK,SYNAD=IOERR, C 
INTAB=L , PROCES=LOAD 

DDNAME=DDPISAM,LRECL=100,BLKSIZE=700, C 

KEYLEN=6 , RKP=9 ,DUMREC=4 , CYLOFL= 2 , C 

CYLTOT=10,WORKAR=WORK,SYNAD=IOERR, C 

NORFC=NOTFD , KEYADDR=KEY , INTLAB=R , C 
PROCES=RANDADD 

DDNAME=DDPISAM,LRECL=100,BLKSIZE=700, C 

KEYLEN=6,RKP=9,DUMREC=4,CYLOFL=2, C 

CYLTOT=10,WORKAR=WORK,SYNAD=IOERR, C 
EODAD=SEND,INTLAB=S,PROCES=SEQUP 
DDNAME=PRINT,DSORG=PS,MACRF=(WC) ,DEVD=PR, C 
RECFM=F,LRECL=100,BLKSIZE=100 
START 



0001720 
0001730 
0001740 
0001750 
0001760 
0001770 
0001780 
0001790 
0001800 
0001810 
0001820 
0001830 
0001840 
0001850 
0001860 
0001870 
0001880 
0001890 
0001900 
0001910 
0001920 
0001930 
0001940 
0001950 
0001960 
0001970 
0001980 
0001990 
0002000 
0002010 
0002020 
0002030 
0002040 
0002050 



Part 



A 17-25 



PROJECT ADMIRAL APPENDIX XVII -Part 2 

PRELIMINARY INDEXED SEQUENTIAL ACCESS METHOD (PISAM) 
VERSION 1, MODIFICATION LEVEL 

A. Restrictions 

While the PISAM routines have been tested for many combinations 
of situations, it is almost certain that some errors remain. 
You should test your own special case very carefully. 

B. Creation of PISAM 

1. Punch a card deck from the DTR. The DTR is a 9-track tape 
containing the PISAM package and a sample program in 80/80 
unblocked format. 

2. The cards punched will include sample JCL cards for plac- 
ing the PISAM package in the Macro Library and for as- 
sembling, linkediting, and executing the sample program. 
See the listing to determine whether you need to change 
some of these cards for your system. 

C. Sample Program Description 

1. The purpose of this sample is: 

a. To show the user how to use the PISAM macros. 

b. To provide a source deck for an assembly so that the 
user can check if he has received a correct version 
of PISAM. 

c. To show how PISAM works during execution. 

2. The significant characteristics of the data set to be 
processed are: 

.Block size BLKSIZE=700 

.Logical record length LRECL =100 

.Key length KEYLEN = 6 

.Relative key position RKP = 9 

.Total number of cylinders CYLTOT = 10 

.Number of dummy records per block DUMREC = 4 
.Number of overflow tracks per cylinder CYLOFL = 2 
.The ddname of the DD control statement describing the 

data set to be created and processed is DDPISAM. 
.PRINT is the ddname of the DD control statement defining 

output on the line printer. 

3. The sample program is divided into the following parts: 

a. Loading the Indexed Sequential Data Set (PROCES=LOAD) . 

This part starts at the label LOAD. The IDCB de- 
scribing the data set to be created is named DCBLOAD. 



Part II A 17-27 



APPENDIX XVII -2 (Cont'd.) 

As the keys of the logical records are generated by 
the sample program itself, the user is not concerned 
with handling of data cards. All logical records 
contain the words 'LOAD REC in the data area to 
distinguish them from addition records which will be 
inserted later. .. In order to provide space and link- 
age facilities for higher additions, a number of 
logical records with delete codes (containing X'FF' 
in the first position after the key) and with keys 
higher than 003600 are also loaded. The key of the 
last logical record that is not delete-coded record 
is 003600; however, the highest key of the data set 
is 003792. By loading these deleted logical records, 
addition records with keys up to 003792 can be in- 
serted. 

b. Random Processing (PROCES=RANDADD) 

This part starts at the label RANDADD. The IDCB 
describing the data set to be processed is named 
DCBRAND. In this portion of the sample program ad- 
dition records are inserted into the data set and 
all logical records with an even-numbered key are 
randomly updated by inserting 'UPDATED' into the 
data portion. The keys are generated in alternating 
sequence starting from 000001 and 003790. Each addi- 
tion record and each updated record (after it has 
been retrieved again) is printed. The addition 
records are marked by 'ADDITION' in the data portion. 



Part II A 17-28 



Appendix 18 



APPENDIX XVIII 



EXCP STUDENT PRACTICE PROBLEM 



Use of the scan (search key and data) special feature on the 
direct access device control units. This feature is not 
supported by 0/S data management. 

Problem Definition: 

1. Input data set named "SCANDATA" on disk volume serial 
"WORK 11" (multi-extent, single volume data set). 

a. Key length is 5 bytes 

"hit" records are ZBCD "99999" 
"no hit" records are ZBCD "11111" 

b. Data length is 500 bytes 

1 - 5 Record sequence number is ZBCD 
6 - 10 Blank 
11 -500 Filler 

c. There is an EOD record after the last record in 
the last extent on the volume. 

2. Using the scan sequence in the 2841 control unit manual 
on page 20, write an EXCP program to scan for records 
with all 9's in the Key. Read in key and data on a hit. 

The key and sequence number of hit records are to be 
printed in print positions 1-10 (moved to the print 
area without alteration). 

Every 15th record is a hit. There are 350 records in 
the data set. 



A18-1 



-INITIALIZE SEEK ADDRESS IN IOB AND SRCH ID IN CCWLIST TO BEGINNING EX 



DISKINIT MVC SEEKADDR+2(*O,0(10) 
"UPDATE TO ORIENT TO RO 

MVC DISKDCB+21(5),SEEKADDR+2 



CCHH IN DEB TO IOB SEEKADDR 



: UPDATE 



DONE 



DISKECB 


DC 


DISKIOB 


DC 




DC 


DISKCSW 


DC 


CCWLIST 


DC 


DCBADDR 


DC 




DC 


EXTENTM 


DC 


SEEKADDR 


DC 


ADDRBEG 


DC 


ADDRHIT 


DC 


"ORIENT TO RO 


BEGINCYL 


CCW 




CCW 


"ORIENT TO HIT 


HITLIST 


CCW 




CCW 


RDCOUNT 


CCW 




CCW 




CCW 




CCW 


SRCHHIT 


CCW 




CCW 




CCW 


RDRO 


DS 


SRCHARG 


DC 


SEEKBIN 


DC 


SAVCOUNT 


DS 


INPUTKEY 


DS 


SEQ 


DS 




DS 




DS 


PRINT 


DS 


PKEYSEQ 


DS 


BLK 


DC 


PCCHHR 


DC 


DBL 


DS 


SAVEAREA 


DS 


DISKDCB 


DCB 


PRTDCB 


DCB 



MVI DISKDCB+25,X , 00 I 
CCW LIST ADDRESS TO READ RO 
MVC CCWLIST+K 3), ADDRBEG 
B DISKEXCP 
WTO 'NICELY DONE 1 
CLOSE (DISKDCB,, PRTDCB) 
FREEPOOL PRTDCB 
L 13,SAVEAREA+*f 
RETURN (1^,12) 

F»0 f 

X l ^2000000 t 

A(DISKECB) 

2F ! 0» 

A(BEGINCYL) 

A(DISKDCB) 

2F , t 
X'OO 1 
XLZ'OO' 
AL3CBEGINCYL) 
AL3CHITLIST) 
ON END OF EXTENT 

X* 16 f ,RDRO,X f 70\ 16 
X'08 1 , RDCOUNT, 0,0 
RECORD 
X , 31 l ,DISKDCB«-21,X t *fO\ 
X'08', HITLIST, 0,0 
X • 9 2 » , SAVCOUNT, X • *t • , 8 
X'Ag^SRCHARG^'^O^S 
X'OS 1 , RDCOUNT, 0,0 
X'lB 1 , SEEKBIN, X'^fO 1 , 6 
X'31 f , SAVCOUNT, X'^O 1 , 5 
X'08', SRCHHIT, 0,0 
X'OE', INPUTKEY, 0,505 
CL16 
C»99999» 

00 f 



SET 



CCHHR TO SRCH LAST 
R TO BEGIN SCAN AT 



REC 
R 



ID 



EXEC BEGINCYL CCW'S 



COMM CHAIN AND UNRELATED 



BBCCHHR 
CCW FOR 
CCW FOR 

RD RO 
TIC RD 



E EXTENT 
AFTER A HIT 

CC,SLI,SKIP 
Rl COUNT 

ID EQ CC 



5 SRCH 
TIC *-8 

RD COUNT MT,CC 
SCAN-SRCH KEY EQ MT,CC 
TIC "-16 
SEEK HEAD CC 
SRCH ID EQ CC 
TIC "-8 

READ KEY AND DATA 
INPUT AREA FOR RD RO 



FOR SEEK HEAD BB 

CCHHRKLDLDL TO LOCATE HIT REC 



END 



XL2 

CL8 

CL5 

CL5 

CL5 

*t9CL10 

OCL18 

CLIO 

C» f 

CL7' f 

D 

18F 

DDNAME=INDISK,MACRF=(E),DSORG=PS,DEVC=DA,BUFNO=l 

DDNAME=PRINTOUT,DSORG=PS,MACRF=PM,DEVD=PR,PRTSP=2, 

RECFM=F,LRECL=18,BLKSIZE=18,BFTEK=S,EROPT=ACC 



A18-2 



EXCP SOLUTION TO SCAN PROBLEM 

NOTE: SINCE SCAN FEATURE WAS NOT AVAILABLE, A SEARCH KEY EQUAL 
COMMAND WAS USED. 



EXCPSCAN 



DISKEXCP 



CONVERT 



NOT 

NECESSARY 

IN 

STUDENT 

ANSWER 



r c 



TESTEXT 



NEXTEXT 






START 
SAVE 
BALR 
USING 
ST 
LA 

OPEN 
L 

LA 
B 

MVI 
EXCP 
WAIT 
CLI 
BNE 
MVC 
TRACK 
SR 
IC 
CVD 
UNPK 
01 
IC 
^CVD 
UNPK 
01 
IC 
CVD 
UNPK 

v? 1 

PUT 

PRTOV 

MVC 

MVC 

MVC 

B 

CLI 

BE 

CLC 

BE 

ABEND 

IC 

SR 

IC 

LA 

CR 

BE 

STC 

LA 




(14,12) 
12,0 

5! ,12 

13,SAVEAREA+4 

13,SAVEAREA 

(D I SKDCB,,PRTDCB, (OUTPUT)) 

11,DISKDCB+^ GET DEB ADDR 

10,38(0,11) CCHHR ADDR FROM DEB FIRST EXTNT 

DISKINIT 

DISKECB^'OO' 

DISKIOB 

ECB=DISKECB 

DISKECB^^F 1 

TESTEXT 

PKEYSEQ, INPUTKEY 

ADDRESS 

2,2 

2,SAVCOUNT+*t 

2,DBL 

PCCHHR+6(1),DBL+7(1) 

PCCHHR+6,X'F0 f 

2,SAVCOUNT+3 

2,DBL 



INITIALIZE ECB CODE 



TEST HIT SUCCESSFUL 



MOVE KEY,SEQ TO PRINT 



CONVERT REC 
SET ZONE TO 



NUM 
F 



PCCHHR+4(1),DBL+7(1) 

PCCHHR+^X'FO' 

2,SAVC0UNT+1 

2,DBL 

PCCHHR(3),DBL+6(2) 

PCCHHR+2,X t F0 l 

PRTDCB, PRINT 

PRTDCB,12 

DISKDCB+21(5),SAVCOUNT 

SEEKADDR+2(5),SAVCOUNT 

CCWLIST+1(3),ADDRHIT 

DISKEXCP 

DISKECB,X**f2 f 

NEXTEXT 

SAVCOUNT+5(3),=X f 00 0000 

DONE 

256,DUMP 

2,16(0,11) 

3,3 

3,EXTENTM 

3,1(0,3) 

2,3 

DONE 

3,EXTENTM 

10,16(0,10) 



CONVERT HEAD 



PRINT HIT 

INIT SRCH ID TO HIT ID 

INIT CCHHR IN IOB SEEKADDR 
EXEC HITLIST CCW'S 

WAS IT END OF EXTENT 

1 IS IT EOD RECORD 

OTHER ERRORS 

NUM EXTENTS FROM DEB 

CURRENT EXTENT IN IOBS32 
INCREM IOB NUM EXTENTS 
TEST ALL EXTENTS PROCESSED 

UPDATE EXTENT COUNT INIOB 
GET NEXT EXTENT FROM DEB 



A 18-3 



Appendix 19 



APPENDIX 19 
This appendix consists of two parts: 

1 . The listings of the cards used before, during and after the NSL problem. 

2. The listings produced by actually running the cards in Part 1 . (In this part job DDDD 
was run twice, once with the macros IEFUCBOB and IECDSECT, and the second time 
with the macros EBC1 and EBC2.) The instructor should note the difference in assembly 
time and line items produced 

Job HHHH was also run twice, the first time with NSL that checked and the second 
time with HSL that did not check (User Completion Code 256). 



A19-1 



//GGGG JOB 0,EBCGO»MSGLEVEL = l 

// EXEC PGM^GO 

//A DO DSNAME=EBCLIB,SPACE=(CYL,{i,l f i))»VOLUME=SER=llllil» 

// DISP=(NEW,CATLG),UNIT=23il 

/• 



Create a Library (EBCLIB) for the Test Program (EBC3) 



Part I A19-3 



//BBBB JOB OtEBCUBC f MSGLEVEL=i 
//STEPNAME EXEC PGM=IEBUPDAT,PARM=NE W 
//SYSPRINT 00 SYSOUTaA 

DSNAME»SYSl.MACLIB,DISP*OLD 



//SYSUT2 


00 


OSNAi 


//SYS IN 


DO 


DATA 


./ 


AOO 

MACRO 

EBCl 


EBCl 




OS 


CL13 


UCBNAME 


OS 


CL3 


UCBTYP 


OS 


XL 4 




OS 


CL15 


SRTEOMCT 


OS 


XL1 




OS 


CL32 




MEND 




./ 


ENDUP 





UNIT NAME IN EBCOIC CHARACTERS 
DEVICE TYPE 

MOUNT BIT IN HIGH ORDER BIT 



Put EBCl in SYS1.MACLIB 



Part 



A 19-4 



Put EBC2 in SYS1.MACUB 



//CCCC JOB 0,EBCWACBA,MSGLEVEL=1 

//STEPNAME EXEC PGM= IEBUPDAT, PARM=NE W 

//SYSPRINT DO SYSOUT*A 

//S.VSUT2 DD DSNAME«SYSl.MACLIB,DI SP*OLD 

//SYS IN 00 DATA 

./ AOD EBC2, 00,0,1 

MACRO 
-EBC2 

SPACE i 

• VOLUME LABEL 
SPACE 1 

OXLBL OS CL80 

OS CL20 

SPACE I 

• JOB FILE CONTROL BLOCK 
JFCBDSNM DS CLAA DATA SET NAME 

OS CL22 

JFCBLTYP OS CL1 LA8EL TYPE 

DS CL51 

JFCBVOLS DS CL30 VOLUME SERIAL NUMBERS 

OS CL28 

SPACE i 

• EVENT CONTROL BLOCK 
SPACE 1 

CXECB DS OCLA 

DC X'COOOOCCC 

SPACE 1 

• INPUT/OUTPUT BLOCK 
SPACE 1 

DXIOB DS CLAO 

SPACE 1 

• DATA EXTENT BLOCK 
SPACE 1 

DS CL28 

DXDEBUCB OS F 

DS CL12 

SPACE i 

• DATA CONTROL BLOCK 



CHANNEL CONTROL WORDS 





SPACE 


1 




OS 


CLA 




SPACE 


i 


♦ 


SPACE 


1 




CNOP 


0,8 


CXCCW1 


DS 


D 




OS 


CL16 


DXCCWA 


OS 


D 


DXCCW5 


DS 





DXCCW6 


DS 







DS 


CLAO 


DXCCW12 


OS 







SPACE 


i 




MEND 




./ 


ENOUP 




/» 







Part I A 19-5 



Put IEFUCBOB in SYS1.MACUB 

//JJJJ JOB 0,EBCUBC,MSGLEVEL=1 

//STEPNAME EXEC PGMMEBUPDAT,PARM*NE W 

//SYSPRINT 00 SYSOUT=A 

//SYSUT2 DO DSNAME=SYSl.MACLIB,DISP«OLD 

//SYSIN DO DATA 

./ ADD IEFUCBOB, 00,0,1 

MACRO 

IEFUCBOB 

* DATE OF THIS UPOATE 13 JULY 65 
• 

• THE INDIVIDUAL UCB S LOOK LIKE THIS, 
• 

• »♦»»♦♦»♦»♦••♦»»♦♦»•»»»«»•♦»••«»»•♦♦»» • 

• « JOB • ALLOC. » UCB • STATUS • ••* 

• »INTERNAL*CHANNEL * ID » A • • ••»» 
» « NUMBER * MASK » • • » 

£ »••**••»*••*••••*•»•»*••*••••••••*••* • 

* • FLAGl * UNIT * * « ♦ 
» » AND »ADDRESS » FLAG2 • DEVTAB # • 

• »CHAN.ADD* » • ♦ • 

• •••*••*••»»•*•***»**••••«••••»••»•*•• • 

e • * ♦ • * • 

» • ERRTAB » STATAB » LCHTAB • ATNTAB * « 

* • * * * * 

» »•••»•••»*•»•*•«***•*•••••••*••*»«»•* ALL OEVICES 

* *SCH IOS» « 

* *FLG FLG* UNIT NAME » • 

# * ♦ * • 

♦ » ♦ # 

» * TYPE * • 

* • » • 

* « » « • 

* * LAST 12* • SENSE * ••»•» 

• * • « ••• 

• »»»♦*♦♦»♦♦»♦♦♦»»#♦»»»♦♦•*♦«♦»»♦»» »»♦♦ • 

• »♦»»»♦»♦»♦♦»♦»»»« ♦♦»♦♦♦♦»*♦»♦»*♦«♦»♦« • 

• • * * 

» ♦ SENSE * ♦•«•♦ 

« « ♦ # 

• »»»♦*»♦♦»»»♦»♦♦»♦♦»»»»♦«»♦♦»»♦»♦♦♦»♦« • 

• « • » 

» ♦ VOLUME SERIAL ♦ • 

« • • 

« • * • • ••••*•••••*»•**•*»• TAPE AND DA 

* • * STATUS * DATA * 

♦ * • B *MANAGMNT* » 

♦ » » » COUNT * • 
« »»♦»»♦♦**»»»»♦»♦♦»»»♦»•»»»»»♦♦»»♦»»♦♦ • 

* * VTOC TT * VTOC R » SPARE * » 

» « OR • OR » ••**• 

« »FILE SEQ. COUNT • FILE SEQ. NUMBER * ••» 

ft **»•*»•••»»*»•*••»*••*•«*••••£-••*• -£•«• ft 

ft 

ft #♦*«♦♦♦#»♦♦♦♦**♦»»»*♦»«»»♦«♦»♦♦»»*♦»♦ ft 

ft ft ft •«* 

• * SEEK QUEUE • »♦«•♦ 
Part I A19-6 



• • • • • 

• CONTROL WORD 



• MBBCCHHR FOR * DA ONLY 

• * * 

• LAST SEEK « * 

• • • 

♦CURRENT * « • 

• NR. OF » DA ECB ADDRESS • »•*•# 
« USERS • * *** 



UCBCB 


EQU • 




OS 


OF 


SRTEJBNR 


DS 


XL1 


SRTECHAN 


OS 


XLi 


UCBID 


DS 


XL1 


SRTESTAT 


DS 


XLI 


SRTEONL I 


EQU 


128 


SRTECHGS 


EQU 


64 


SRTERESV 


EQU 


32 


SRTEUNLD 


EQU 


16 


SRTEALOC 


EQU 


8 


SRTEPRES 


FQU 


4 


SRTESYSR 


EQU 


2 


SRTEDADl 

» 


EQU 


1 


» 
UCBCHA 


DS 


XLI 


UCBUA 


DS 


XLI 


UCBFL2 


DS 


XLi 


UCBDT I 


DS 


XLi 


UCBETI 


DS 


XLi 


UCBSTI 


DS 


XLI 


UCBLCI 


DS 


XLi 


UCBAT I 


DS 


XLI 


UCBWGT 


DS 


XLI 


UCBNAME 


DS 


CL3 


UCBTYP 


DS 


XL4 


UCBTBYTi 


EQU 


UCBTYP 


UCB1FEAO 


EQU 


128 


UCBlFEAi 


EQU 


64 


UCB1FEA2 


EQU 


32 


UCB1FEA3 


EQU 


16 


UCB1FEA4 


EQU 


8 


UCBlFEAb 


EQU 


4 


UCB1FEA6 


EQU 


2 


UCB1FEA7 


EQU 


1 


UCBTBYT2 


EQU 


UCBTYP i 


UCBTBYTi 


FQU 


UCBTYP 2 



UNI T CONTROL BLOCKS 

JOB INTERNAL NUMBER 

ALLOC. CHANNEL MASK 

UCB IDENTIFICATION 

STATUS BITS 
ONLINE 

CHANGE ONLINE/OFFLINE 
RESERVED DEVICE 
UNLOAD THIS DEVICE 
BIT 4 ALLOCATED 
BIT 5 PERMANENTLY RESIDENT 
BIT 6 SYSRES 

OR PRIMARY CCNSCLE 
BIT 7 DADSM INTERLOCK 
OR TAPE CONTAINS 
STANDARD LABELS,OR 
ALTERNATE CCNSCLE 

FLAG1 AND CHANNEL ADDRESS 

UNIT ADDRESS 

FLAG2 

DEVICE TABLE 

ERROR TABLE 

STATUS TABLE 

LOGICAL CHANNEL TABLE 

ATTENTION TABLE 

HEIGHT 

UNIT NAME IN EBCDIC CHARACTERS 

DEVICE TYPE 

BYTE 1 OF UCBTYPE-MCDEL 
BIT OF OPTION FIELD 
BIT 1 OF OPTION FIELD 
BIT 2 OF OPTION FIELD 
BIT 3 OF CPTI ON FIELD 
BIT 4 OF OPTICN FIELD 
BIT 5 OF OPTICN FIELD 
BI T 6 OF OPTION FIELD 
BIT 7 OF OPTION FIELD 
BYTE 2 OF UCBTYPE-OPTIONS 
BYTE 3 OF UCBTYPE-CLASS 



Part I A19-7 



UCB3TAPE 


EQU 


128 




BIT OF CLASS - TAPE 


UCB3C0MM 


EQU 


64 




BIT I OF CLASS - CCMMUNIC. 


UCB3DACC 


EQU 


32 




BIT 2 OF CLASS - DIRECT AC 


UCB3DISP 


EQU 


16 




BIT 3 OF CLASS - DISPLAY 


UCB3UREC 


EQU 


8 




BIT 4 OF CLASS - UNIT REC. 


UCB3CHAR 


EQU 


4 




BIT 5 OF CLASS - CHAR. READ 


UCBTBYT4 


EQU 


UCBTYP 3 




BYTE 4 OF UCBTYPE-DEVICE 


UCBLTS 


DS 


XL 2 


LAST 


12« 


UCBSNS 


OS 


XL 6 


SENSE INFORMATION 


SRTEVOLI 


DS 


CL6 


VOLUME SERIAL 


SRTESTAB 


DS 


XL1 


STATUS B 


SRTEBSVL 


EQU 


128 




BI T SHARED VOLUME 


SRTEBVSC 


EQU 


64 




BIT 1 VOLUME SECURITY 


SRTEBAL6 


EQU 


32 




BIT 2 ADDIT. VOL, LABEL PROC 


SRTEBPRV 


EQU 


16 




BIT 3 PRIVATE 


SRTEBPUB 


EQU 


2 




BIT 4 PUBLIC 


SRTEBVQS 


EQU 


4 




BIT 5 VOLUME TO BE QUIESCE 


• 








BIT TO MOUNT ANCTHER 


SRTEBJLB 


EQU 


2 




BIT 6 JOBLIB VOLUME 


SRTEBNUL 


EQU 


1 




BIT 7 CONTROL VOLUME 


SRTEOMCT 


DS 


XL1 


DATA 


MANAGEMENT COUNT 


SRTEFSCT 


DS 


XL2 


FILE 


SEQ. COUNT 


SRTEFSEQ 


DS 


XL 2 


FILE 


SEQ. NUMBER 


UCBSQC 


DS 


2F 


SEEK 


QUEUE CONTROL WORD 


UCBSKA 
SRTEUSER 


OS 


2F 


MBBCCHHR FOR LAST SEEK 


DS 


XL1 


CURRENT NUMBER OF USERS 


SRTEECBA 


DS 


XL3 


DA ECB ADDRESS 


CATACELL 


EQU « 




9 OF THESE BLOCKS WILL BE PRESENT 


DCELJBNR 


DS 


XL1 


JOB INTERNAL 


OCELUSER 


DS 


XL1 


CURRENT NUMBER OF USERS 


DCELSTAB 


DS 


XL I 


STATUS B 


CCELSTAT 


DS 


XL1 


STATUS A 


DCELVOLI 


DS 


CL6 


VOLUME SERIAL 


DCELVTOC 


DS 


XL3 


VTOC 


ADDRESS 


DCELECBA 


DS 


XL3 


DA ECB ADDRESS 




MEND 








./ 
/* 


ENDUP 









Part 



A19-8 



Put IECDSECT in SYS1.MACUB 
//IIII JOB 0, £CBL,MSGLEVEL=1 
//STEPNAME EXEC PGM=IEBUPDAT,PARM*NE W 
//SYSPRINT DO SYSOUT=A 

//SYSUT2 DO DSNAME»SYS1.MACLIB,DISP*0LD 

//SYSIN DO DATA 

./ AOD IECDSECT, 00,0, 1 

MACRO 

IECDSECT 

SPACE I 

* THIS MACRO IS USED TO DEFINE THE WORK AREA 

* FOR ALL MODULES OF OPEN,CLCSE ,TCLOSE 

* AND END OF VOLUME FOR 0/S 360 
SPACE 1 

« THIS MACRO DEFINES A WORK AREA WITH THE 

* FOLLOWING FORMAT 
SPACE i 

* 1. LABELS AND DSCB 

* LABELS 

* VOLUME LABEL 

* FILE LABEL 1 

* FILE LABEL 2 

* DSCB 

* FORMAT I 

» FORMAT 3 KEY 

* FORMAT 3 DATA 

* CORE ADDRESS OF NEXT DSCB 

* MESSAGE AREA 

* 100 BYTES 

* 2.JFCB 

* 176 BYTES 

* 3.ECB 

« 4 BYTES 

» 4.I0B 

* 40 BYTES 
« 5. DEB 

* 44 BYTES 

* 6.DCB 

* 4 BYTES 

* 7.CCW S 

* 96 BYTES 



SPACE I 
SPACE 2 



TCTAL «** 464 BYTES 



* « ** 
» •** 

* «** 





SPACE 


1 


* 




VOLUME 




SPACE 


1 


CXLBL 


OS 


0CL80 


VOLLABI 


DS 


CL3 


VCLNO 


OS 


CL1 


VOLSERNO 


OS 


CL6 


VOLSEC 


DS 


CLi 




OS 


0CL10 


VOLVTOC 


OS 


CL5 




OS 


CL5 



LABEL 



LABEL IDENTIFIER 
VOLUME LABEL NUMBER 



RESERVED 



DS CLIO RESERVED 

Part I A 19-9 



DS CLIO RESERVED 

VCLOWNER OS CLIO OWNER NAME AND ADDRESS CODE 

DS CL29 RESERVED 

SPACE i 

• FILE LABEL 1 
SPACE 1 

ORG DXLBL 

FL1LABI DS CL3 LABEL IDENTIFIER 

FL1NO DS CLl FILE LABEL NUMBER 

FL1ID OS CL17 FILE IDENTIFIER 

<=L1F!LSR DS CL 6 FILE SERIAL NUMBER 

H . 1VOLSQ OS CL4 VOLUME SEQUENCE NUMBER 

FL.FILSQ DS CL4 FILE SEQUENCE NUMBER 

FL1GNO OS CLA GENERATION NUMBER 

FL1VNG OS CL2 VERSION NUMBER OF GENERATION 

FL1CREDT OS CL 6 CREATION DATE 

FL1EXPDT DS CL 6 EXPIRATION DATE 

FL1FSFC OC C"0« FILE SECURITY INDICATOR 

FL1BLKCT OS CL6 BLOCK COUNT 

FL1SYSCD OS CL13 SYSTEM CODE 

FL1RES OS 0CL7 RESERVED FOR FUTURE USE 

OS CL1 

FL1RESI DS CL6 

SPACE 1 
« FILE LABEL 2 

SPACE 1 

ORG FLilD 

FL2RECFM OS CL 1 RECORD FORMAT 

FL2BLKL DS CL 5 BLOCK LENGTH 

FL2LRECL OS CL 5 BLOCKING FACTOR/RECCRO LENGTH 

FL2DEN OS CL 1 DENSITY 

FL2FILP OS CL1 FILE POSITION 

FL2JSID DS OCL17 JOB/STEP IDENTIFICATION 

FL2JOBD OS CL8 JOB IDENTI FICATI CN 

FL2JSSP OC C'/» SLASH 

FL2STEPD OS CL 8 STEP IDENTIFICATION 

FL2TRTCH OS CL 2 TAPE RECORDING TECHNIQUE 

FL2CNTRL OS CL 1 CARRAIGE CONTROL CHARACTER 

FL2RES DS CL43 RESERVED FOR FUTURE USE 

SPACE 1 

* DATA SET CONTROL BLOCK 
SPACE I 

ORG DXLBL 

CXCSCR DS 0CL96 

DSCFMTIO DC C«l f 

CSCFILSR DS CL6 FILE SERIAL NUMBER 

DSCVOLSR OS CL2 

OSCCREDT DS CL 3 CREATION DATE IN DISCONTINOUS BIN 

DSCEXPDT OS CL3 EXPIRATION DATE IN DISCONTINOUS BIN 

CSCNOEXT OS CLl 

CSCBLDBL DS CLl 

DS CLl 

DSCSYSCD DS CL13 SYSTEM CODE 

DS CL7 

DSCFILTY DS CL2 FILE TYPE 

CSCRECFM DS CLl RECORD FORMAT 

DSCOPTCD DS CLl OPTION CODE 

OSCBLKL OS CL2 BLOCK LENGTH 

CSCLRFCL DS CL 2 RECORD LENGTH 

Part I A-9-10 



DSCKEYL 


OS 


CLl 


DSCRKP 


OS 


CL2 


DSCOSIND 


OS 


CLl 


CSCSCALO 


OS 


CLA 


DSCLSTAK 


DS 


CL5 


DSCTRBAL 


OS 


CL2 


DSCEXTYP 


OS 


CLl 


CSCEXTSO 


OS 


CLl 


DSCLOWLM 


OS 


CLA 


DSCUPPLM 


OS 


CLA 


CSCEXTl 


OS 


CLIO 


CSCEXT2 


DS 


CL1C 


DSCNEXT 


OS 


CL5 


DSCCORE 


OS 


CLA 


OSCBEND 


EQU 


• 




SPACE 


1 


» 




DATA SE 




SPACE 


1 




ORG 


DXDSCB 


CXCSCB3K 


OS 


OCLAO 


DSCBF3C 


OC 


x^aoic^s' 


DSCBEXSK 


OS 


OCLAO 


CSCBEXTY 


OS 


CLl 


CSCBEXSQ 


OS 


CLl 


DSC8LLMT 


OS 


CLA 


DSCBULMT 


OS 


CLA 


DSCBEX2 


OS 


CLIO 


CSCBEX3 


OS 


CLIO 


CSC8EXA 


OS 


CLIO 




SPACE 


1 


* 




DATA SE 




SPACE 


1 




ORG 


DXDSCB 


OXCBFMID 


OC 


C^' 


CSCBEXSO 


DS 


0CL90 


CSCBEX5 


OS 


CLIO 


CSC8EX6 


OS 


CLIO 


DSC8EX7 


OS 


CLIO 


CSCBEX8 


OS 


CLIO 


CSCBEX9 


OS 


CLIO 


CSCBEXA 


OS 


CLIO 


DSCBEXB 


OS 


CLIO 


CSC6EXC 


OS 


CLIO 


CSCBEXD 


DS 


CLIO 


DSCBNEXT 


OS 


CL5 




SPACE 


1 


* 




MESSAGE 




SPACE 


1 




ORG 


DXDSCB 


REPLYLTH 


OS 


CLl 


REPLYADR 


OS 


CL3 


REPLYECB 


DS 


CLA 


MSGLSTSZ 


OS 


CLA 


MESSAGEA 


DS 


CL60 


REPLY 


OS 


CLIO 


# 


ORG 


MESSAGEA 


* 
« 


DEFINITION OF LENG 



KEY LENGTH 
KEY LOCATION 



EXTENT TYPE INDICATOR 
EXTENT SEQUENCE NUMBER 



POINTER TC NEXT RECCRD 

CORE ADDRESS OF NEXT DSCB RECORD 



T CONTROL -FORMAT 3- KEY PORTION 



EXTENT TYPE INDICATOR 
EXTENT SEQUENCE NUMBER 
CCHH LOWER LI MI T 
LIMIT 
EXTENT 
EXTENT 
EXTENT 



CCHH UPPER 
ADDITIONAL 
ADDITIONAL 
ADDITIONAL 



T CONTROL BLOCK -FORMAT 3- RECORD PORTION 



FORMAT ID 

ADDITIONAL 

ADDITIONAL 

ADDITIONAL 

ADDITIONAL 

ADDITIONAL 

ADDITIONAL 

ADDITIONAL 

ADDITIONAL 

ADDITIONAL 

ADDITIONAL 



EXTENTS 

EXTENT 

EXTENT 

EXTENT 

EXTENT 

EXTENT 

EXTENT 

EXTENT 

EXTENT 

EXTENT 



CCHHR OF NEXT FORMAT 3 DSCB 



AREA 



Part 



A19-11 



EOU 
EQU 
EQU 
EQU 



DC 

OS 

ORG 

OS 

ORG 

OC 

ORG 

OS 

OC 

DC 

OC 

DC 

OC 

OS 

SPACE 

ORG 
DS 



MESSAGE SERIAL NUMBER LENGTH 
MSG INSTRUCTION LTH INC MSG SER 
MESSAGE UNIT NAME LENGTH 
MESSAGE VOLUME SERIAL LENGTH 



LENGTH MAY BE DEFINED BY EACH MODULE TC FIT REQUIREMENT 
LENGTH OF FULL MSG DEFINED BY EACH MGDULE 
MESSAGE FORMAT IS IECCOOA M 000,00000 TEXT 



CL3MEC f 

0CL3 

MSGSER MSERL-1 

CL1 

MSGSER 

CL6«C00A M» 

MSGINSTR MlNSTL-1 

CLl 

C« • 

CLa'CGO* 

cs« 

CL6«0CCCC0» 



I/O SUPPORT MESSAGE IDENTITY 
MESSAGE SERIAL NUMBER 

VOLUME SERIAL LO CRDER BYTE 

MESSAGE INSTRUCTION INCL MSGSER 

MESSAGE ACTION REGD BY OPERATOR 

UNIT NAME THAT MSG REFERS TO 

VOLUME SERIAL THAT MSG REFRS TO 



MSERL 

MINSTL 

MUNL 

MVOLL 

» MTXTL 

« MSGLTH 

• 

MSGIOSUP 
MSGSER 

MSGSERLO 

MSGINSTR 

MSGACTN 

MS GUN 

MSGVOLSR 

MSGTEXT 

• 

CXJBF 

* 

* JFCB 

* 

CL4A DATA SET NAME 

CL8 ELEMENT NAME OR VERSION 

CLl TASK SCHEDULER - DATA 

MANAGEMENT INFERFACE BYTE 
CL13 SYSTEM CODE 
CLl LABEL TYPE AND USER'S-LABEL 

INDICATOR 
CLi NOT USED 

CL2 FILE SEQUENCE NUMBER 
CL2 VOLUME SEQUENCE NUMBER 
CL8 DATA MANAGEMENT MASK 
CL3 DATA SET CREATION DATE 
CL3 DATA SET EXPIRATION DATE 
CLl INDICATOR BYTE 1 
64 BITS C AND 1 - EXTERNAL 



0CL38 
1 

JOB FILE CONTROL BLOCK 
CSCBEND 
CCL176 



INFMJFCB 


EQU 


JFC8DSNM 


DS 


JFCBELNM 


DS 


JFCBTSOM 


DS 


JFCBSYSC 


DS 


JFCBLTYP 


OS 


♦ 


OS 


JFCBFLSQ 


DS 


JFCBVLSQ 


DS 


JFCBMASK 


DS 


JFCBCRDT 


OS 


JFCBXPDT 


DS 


JFCBINDl 


OS 


JFCBRLSE 


EQU 


JFCBLOCT 


EQU 


JFCBNEWV 


EQU 


JFCBPMEM 


EQU 


JFCBIND2 


OS 


JFCBSTAT 


EQU 


JFCBSCTY 


EQU 


JFCBUFNO 


OS 



16 BITS 2 AND 3 - DATA SET 

4 BITS 4 AND 5 - NEW VOLUME 

1 BITS 6 AND 7 - DATA SET IS 

CLl INDICATOR BYTE 2 

64 BITS C AND 1 - DATA SET 

16 BITS 2 AND 3 - DATA SET 

CAL1 



STORAGE RELEASE INDICATOR 

HAS BEEN LOCATED 

ADDED TC DATA SET 

A MEMBER OF A PODS OR GDG 

STATUS (NEW, OLD, OR MOD) 
SECURITY INDICATOR 



Part 



A19-12 



JFCBUFRQ 

JFCBFTEK 

JFCBFALN 

JFCBUFL 

JFCEROPT 

JFCTRTCH 

JFCKEYL6 

JFCMODE 

JFCCOOE 

JFCSTACK 

JFCPRTSP 

JFCOEN 

JFCLIMCT 

JFCDSORG 

JFCRECFM 

JFCOPTCU 

JFCBLKSI 

JFCLRECL 

JFCNCP 

JFCNTM 

JFCRKP 

JFCCYLOF 

JFCDBUFN 

JFCINTVL 

JFCCPRI 

JFCSOWA 

JFCBNTCS 

JFCBNVOL 

* 

JFCBVOLS 

* 

JFCBEXTL 



JFCBEXAD 

* 

JFCBPQTY 

« 

JFCBCTRI 

* 
» 
JFCBSQTY 

* 

JFCBIND3 
JFCBCNTG 

* 

JFCBMXIG 

* 

JFCBALXI 
JFCBRNOC 

JFCBDQTY 

« 

JFCBSPNM 

* 
* 
JFCBABSf 



OS 
OS 
OS 

OS 
OS 
OS 
OS 
OS 
OS 
OS 
OS 
OS 
OS 
OS 
OS 
OS 
OS 
OS 
OS 
OS 
OS 
OS 
OS 
DS 
OS 
DS 
OS 
OS 

OS 

DS 



DS 
DS 
OS 

DS 

DS 
EQU 

EQU 

EQU 

EQU 

DS 

DS 

DS 



AL1 

OBL1 

BL1 

AL2 

BLl 

OBL1 

OAL1 

OBL1 

OBLl 

OBL1 

BLl 

BLl 

AL3 

BL2 

BLl 

BLl 

AL2 

AL2 

AL1 

AL1 

AL2 

AL1 

AL1 

AL1 

BLl 

AL2 

CL1 NUMBER OF OVERFLOW TRACKS 

CL1 NUMBER OF VOLUME SERIAL 

NUMBERS 
CL30 VOLUME SERIAL NUMBERS (THE 

FIRST FIVE) 
CL1 LENGTH OF BLOCK OF EXTRA 

VOLUME SERIAL NUMBERS 

(BEYOND FIVE) 
CL3 TRACK ADDRESS OF BLOCK OF 

EXTRA VCLUME SERIAL NUMBERS 
CL3 PRIMARY QUANTITY OF D.A. 

STORAGE REQUIRED 
CL1 INDICATES WHETHER CYLINDERS 

TRACKS, CR RECORDS ARE 

SPECIFIED IN JFCBPQTY AND 

JFCBSQTY 
CL3 SECONDARY QUANTITY OF D.A. 

STORAGE REQUIRED 
CLl INDICATOR BYTE 3 
64 BITS C AND 1 - CONTIGUOUS 

16 BITS 2 AND 3 - MAXIMUM 

4 BITS 4 AND b - ALL EXTENTS 

1 BIT 6 AND 7 - ROUND 

CL3 QUANTITY OF D.A, STORAGE 

CL3 CORE ADDRESS OF THE JFCB 



STORAGE INDICATOR 

AVAILABLE EXTENT INDICATOR 

INOICATCR 

CYLINDER INDICATOR 

REQUIRED FCR A DIRECTORY 

WITH WHICH CYLINDERS ARE 
SPLI T 



CL2 RELATIVE ADDRESS OF FIRST 



Part 



A19-13 



JFCBSBNM DS 



JFCBDRLA 
JFCBVLCT 
JFCBSPTN 



DS 
OS 
OS 



TRACK TO BE ALLOCATED 

CL3 CORE AODRESS OF THE JFCB 

FROM WHICH SPACE IS TO BE 
SUBALLCCATED 

CL3 AVERAGE DATA RECORD LENGTH 

CL1 VOLUME COUNT 

CL1 NUMBER OF TRACKS PER 

CYLINDER TO BE USED BY THIS 
DATA SET WHEN SPLIT 
CYLINDERS IS INOICATED 



JFCBLGTH 


EQU 


176 LENGTH OF JFCB 


JFCBEND 


EQU 


• 


• 




EVENT CONTROL BLOCK 




SPACE 


1 


DXECB 


DS 


OCLA 




DC 


X•OOCCCCCO• 




SPACE 


1 


• 




INPUT/OUTPUT BLOCK 




SPACE 


1 


DXIOB 


DS 


0CL32 


IOBFLAG1 


DC 


X«00« 


I0BFLAG2 


DC 


X'CO' 


IOBSENSE 


DS 


OH 


ICBSENSO 


DS 


CL1 


• 




Q Q 


I OB SENS I 


DS 


CL1 SENSE BYTE TIT 


IOBECBPT 


DS 


XL1 




DC 


AL3( DXECB) 


IGBCSW 


DS 


00 


IOBCOMAD 


DC 


X•CCCOCCCC , KEY, 0000, COMMAND ADDRESS 


IOBSTATO 


DC 


X*CO« STATUS BYTE 


IGBSTAT I 


OC 


X'CO' STATUS BYTE 1 


ICBCNT 


DC 


X'CCOC COUNT 


ICBSIOCC 


DS 


XL1 


ICBSTART 


DC 


AL3{ DXCCfc) 


IOBWGHT 


OS 


XL1 


ICBDC6PT 


DC 


AL3( DXDCB ) 




OS 


XL1 




DS 


XL3 


IOBINCAM 


DC 


x«oooo« 


ICBERRCT 


DS 


XL2 


CXCAACDR 


DS 


D DIRECT ACCESS ADDRESS MB 




SPACE 


i 


* 




DATA EXTENT BLOCK 




SPACE 


1 


DYYYY 


DS 


0CL44 


DXDE8 


EQU 


DYYYY-4 


DXDEBDEB 


DC 


X'OCOCCCCO' 


DXDEBDFL 


DS 


0CL1 


CXCEBIRB 


DC 


X^CCCCOCCC 1 


DXDEBSYS 


OC 


X'CCOCCCCC 


CXCEBUSR 


OC 


X'OCOCCCCC* 


CXDEBECB 


DC 


X'CCCOCCCC 


CXCEBIO 


OS 


0CL1 


DXDEBDCB 


DC 


ALM DXDCB) 


CXDCBAO 


EQU 


DXDEBDCB 


CXDEBAPP 


OS 


CL4 


CXCEBMOD 


OS 


0CL1 


DXDEBUCB 


OS 


F 



Part 



A19-14 



DXOEBBIN 


DS 


H 


CXCEBSCC 


OS 


H 


DXDEBSHH 


DS 


H 


DXDEBECC 


DS 


H 


OXDEBEHH 


DS 


H 


OXOEBNTR 


OS 


H 




SPACE 


1 


• 




DATA CONTROL BLOCK 




SPACE 


1 


DXXXX 


OS 


OF 


CXDCB 


EQU 


0XXXX-44 POINTER TO RELATIVE BEGINNING 


DX0C8OEB 


OC 


A(OXDEB) 


• 




CHANNEL CONTROL WORDS 




SPACE 


1 




CNOP 


0,8 


DXCCW 


DS 


0CL96 


DXCCW1 


DS 


D 


DXCCW2 


DS 


D 


DXCCW3 


OS 


D 


DXCCW4 


DS 


D 


DXCCW5 


DS 





CXCCW6 


OS 





DXCCW7 


OS 


D 


DXCCW8 


OS 


D 


CXCCW9 


DS 


D 


CXCCWIO 


DS 


C 


DXCCW 11 


OS 


D 


DXCCW 12 


OS 


D 




SPACE 


1 


CSECTSIZ 


EQU 

MEND 


464 CORE AREA REQUIRED FCR THIS M 


./ 


ENDUP 




/• 







OF DCB 



MACRO 



Part 



A19-15 



//AAAA 


JOB 


//AA 


EXEC 


//SYSLI8 


DD 


//SYSUTi 


DD 


//SYSUT2 


DD 


//SYSUT3 


DO 


//SYSPRINT DD 


//SYSPUNCH DD 


//SYSIN 


DD 




TITLE 


NSLTEST 


START 




SAVE 




BALR 




USING 




LA 




ST 




ST 




LA 




OPEN 




B 


DATA1 


DCB 



DATA2 



CAT A3 



LAST 



SAVEAREA 



DCB 



DCB 



CLOSE 

L 

RETURN 
OS 
END 



0,EBC,MSGLEVEL«1 
PGM=IEUASM,PARM= 
DSNAME=SYS1.MACL 
UNIT = 23U,SPACE = 
UNIT=231l,SPACE= 
UNIT = 2311, SPACED 
SYSOUT=A 
UNIT=231i,DSNAME= 
* 

•TO TEST NSLOHDR 



( 1,12), T 

3,0 

•t 3 

4, SAVEAREA 
A, 8(0, 13) 
13,SAVEAREA+4 
13, SAVEAREA 
(DATA1, (OUTPUT), 
LAST 

DSORG=PS,MACRF=( 
LRECL=80,BLKSIZE 
DSORG=PS,MACRF = ( 
LRECL=80,BLKSIZE 
DSORG=PS,MACRF=( 
LRECL = 80,BLKSIZE 
(DATA1, REREAD, DA 
l3,SAVEAREA+4 
( 14, 12) 



(DECK) 

IB,DISP=OLD 

( 1700,(400,50) ) 

(1700,(400,50)) 

( 1700,(400,50) ) 

&E,SPACE = (80, (200,50) ) ,DI SP= (NEW, PASS ) 

I • 

SAVE REGISTERS IN HI 



MY SAVE AREA ADDR TO 
MY SAVE AREA ADDR TO 
HIS SAVE AREA ADDR T 
MY SAVE AREA ADDR TO 
DATA2,,DATA3) 

PL),DDNAME = TAPE1 ,DEVD=T 
=80,BUFN0=1 ,BFALN=D,BFT 
GL) ,DDNAME=TAPE2,DEVD=T 
=80,BUFN0=1 ,BFALN=D,BFT 
GL),DDNAME=TAPE3,DEVD=T 
=80,BUFNO=1,BFALN=D,8FT 
TA 2, REREAD, DA TA3, REREAD 



S SAVE AREA 




GR 4 




HIS WD3 




WD 2 




GR 13 




A,RECFM=FBS, 


X 


EK=S,EROPT=ABE 




A,RECFM=FBS, 


X 


EK=S,EROPT=ABE 




A,RECFM=FBS, 


X 


EK=S,ER0PT=ABE 
) 





18F 
NSLTEST 



/* 

//AAA EXEC 

//SYSUTI DO 

//SYSLMOD DD 

//SYSPRINT DD 

//SYSLIN 

// 



PGM=IEWL,PARM=(XR 
UNIT«23 
DSNAME=EBCLIB(EBC 
SYSOUT=A 
DD DSNAME=£E,DISP=MOLD, DELETE) 
DD DDNAME^SYSIN 



EF, LIST, LET, NCAL) 

11, SPACE =(TRK, (20,10) ) ,DI SP= (, DELETE) 

3),DISP=(0LD,KEEP) 



//SYSIN 

NAME 
/* 



DD • 
EBC3(R) 



Assemble Test Program (EBC3) and Link Edit into EBCLIB 



Part 



A19-16 



1HDR 
1HDR 



TAPE181 
TAPE182 



80 Character Labels Used on Tapes 181 and 182 



Part 



A19-17 



//GENE JOB 0,GENECLARK,MSGLEVEL=1 

//STEP EXEC PGM=IEHLIST 

//VOL DD UNIT=23il,DISP=0LD, VOLUME = ( ,RE TAI N, SER=1 1 11 1 1) 

//VOL2 DD UNIT = 23ii,DISP=3LD, VOLUMES ,RETAI N, SER=222222 ) 

//SYSPRINT DD SYSOUT*A 

//SYSIN DD • 

LISTCTLG VOLUME=23li=llllii 

LISTVTOC DUMP,V3LUME=23il=lilill 

LISTVTOC DUMP, VOLUMES 31 1 = 222222 

LISTPDS VOLUME*2 3ll=llilil,3SNAME=SYSl.MACLIB 

LISTPDS VOLUME=2311=llllli f DSNAME=SYSl.SVCLIB 

/» 



Used for Before and After Pictures of: 

1 . Catalogue 

2. VTOC's 

3. MACLIB Directory 

4. SVCLIB Directory 



Part I A19-18 



Assemble NSLOHDRI and Link Edit into bYbl.bV^LIb 

//CDDD JOB 0,EBCNSL,MSGLEVEL=1 

//GENE1 EXEC PGM* IEUASM, PARM= (DECK, RENT) 

//SYSLIB DD DSNAME=SYS1.MACLIB,DISP=0LD 

//SYSUT I DD UNIT = 23U,SPACE*( 1700, (400,50) ) 

//SYSUT 2 DO UNIT=2311,SPACE=( 1700,(400,50) ) 

//SYSUT 3 DD UNIT=2311,SPACE=( 1700,(400,50)) 

//SYSPRINT DD SYS0UT=A 

//SYS PUNCH DD DSNAME=£EBC , UN I T=2311 , SPACE* ( 80 , (200 ,50) ) ,DI SP= ( NEW , PASS ) 

//SYS IN DD • 

TITLE • MY ROUTINE AT OPEN TO HANDLE INPUT HDR • 

NSLGHDRI START 
»•* 

*•» NOTE THAT THE GETMAIN MACRO REQUIRES BASE REGISTER 

*«* ACDRESSIBILITY FOR ITS GENERATION - 

• « « 

BALR 15,0 PROVIDE ADDRESSABILITY 

USING ♦, 15 

*•« 

GETMAIN R,LV=24C 

STM 2,14,0(1) STORE REGISTERS 

DROP 15 
*•* 

*** REGISTERS 2 TO 14 ARE SAVED IN AN AREA CF CORE ACQUIRED 

»*» BY WAY OF A GETMAIN MACRO - BASE REGISTER i HAS THE 

»*« ADDRESS OF THE AREA ACQUIRED 
« * • 

««* 'DYNAMIC* IS THE NAME WE • VE GIVEN TO THE GETMAIN ARkA 

«*» WE'VE DESCRIBED IN THE DSECT IN THIS PRCGRAM 

• •* 

BALR 3,0 
USING *,3 
«•« 

«** REGISTER 1 MUST BE DROPPED AS THE BASE REGISTER OF THE 

»«• CYNAMIC AREA BECAUSE WE ARE ABOUT TO • E XC P • AND IT USES 

#** REGISTER 1 

• «• 

LR 4,1 RELEASE 1 FOR MACRO USE 

USING DYNAMIC, 4 

USING IHADCB, 10 GR1C=ADDR OF DCB 

USING SYMWACBA,ll GRll=ADDR OF WACBA 

USING SYMUCB,12 GR12=ADDR CF UCB 

•«• INITIALIZE REGISTER 7 TO ZERO - THIS REGISTER IS USED 

»** TO PASS OVER 4 BYTE ADDRESSES - THESE ADDRESSES ARE IN A 

««* LIST OF ADDRESSES (WHICH ARE POINTERS TO ALL THE DC8« S 

»*» IN THE PROBLEM PROGRAM AREA) - THERE IS ONE ADDRESS FOR 

*«* EACH DCB ENTRY IN THE OPEN OR CLOSE - WE GET THE ADDR OF 

*«• THE BEGINNING OF THIS LIST IN REG 5 DURING OPEN 

LA 7,0 XR7 FOR DCB'S 

»»* INITIALIZE REGISTER 8 TO 36 - THIS REG IS USED TO PASS 

••» OVER 8 BYTES AT A TIME - AFTER THE 1ST 32 BYTES EACH 8 

**» BYTES CONTAINS (IN THE LOW ORDER BYTES) THE ADDRESS 

**» OF THE 'WORK AND CONTROL BLOCK AREA* - ONE 'WORK AND 

«»» CONTROL BLOCK AREA* IS BUILT FOR EACH DCB IN THE OPEN OR 

*»* CLOSE MACRO - WE GET THE STARTING ADDR CF THE TABLE THAT 

*•« CONTAINS THE ADDR FOR EACH 'WORK AND CONTROL BLOCK AREA* 

«•* IN REG 6 DURING OPEN 

• «» 

LA 8,36 XR8 FOR WACBA'S 

DLOGIC L 10,0(7,5) ADDR OF DCB IN GR10 

Part I A19-19 



11,0(8,6) 
12,DX0EBUCB 



AODR OF WACBA IN GR11 
ADDR OF UCB IN GR12 



• •• 

• •• 



• •• 

* 

« 



« 



• •• 



• *• 



• *• 
* 



**• SET 

**• 
MCUNT 



• *• 

«•• 
ALOGIC 

*•• 

* 

• •• 



MODNAME 
WTO 

«*• 

* 

* 

« 

* 

«* • 



IS THIS AN 'OUTPUT* OCB 
AND CHECKS THE NEXT OCB 



YES IGNORES THIS OCB 



TM 
BO 



DCB0FLGS,X'80» 
MOUNT 



BIT * IF INPUT 



TM 

BO 



IS THIS DCB ALREADY OPENED 
AND CHECKS THE NEXT DCB 

DCBOFLGS,X«10' 
MOUNT 



YES IGNORES THIS DCB 
BIT 3 = I IF OPEN 



IS THIS DCB FOR OTHER THAN TAPE 
AND CHECKS THE NEXT DCB. 



YES IGNORES THIS DCB 



TM 


UCBTYP+2,X'80« 


BZ 


MOUNT 


TM 


SRTEDMCT,X'80« 


BZ 


MOUNT 



TEST UCB3 TAPE FOR i 

IS MOUNT MSG BIT ON 



IS NSL BIT IN JFCB ON 
AND CHECKS THE NEXT DCB 



YES GCES TO RD LABEL 
NC IGNORES THIS DCB 



CLI 
BE 



JFCBLTYP,X'C4' 
BLOGIC 



CHECK NSL BIT IN JFCB 
GOES TO ' MY » ROUTINE 



UP THE MOUNT MSG TO BE USED IN IGG0190B - SEE WTO MACRO 

MVC DXCCW4( 18),MSSG MOVE IN SKELETON MSG 

MVC DXCCW5+6(3),UCBNAME MOVE UNIT NAME TO MSG 

MVC DXCCW6+2(6),JFCBV0LS MOVE VOL SER NO FROM JFCB 



LTR 
BM 



TEST TO SEE IF THERE ARE MORE DCB'S OR IF WE'RE FINISHEO 

10,10 FIRST BYTE IN CURRENT DCB 

ELOGIC 

INCREMENT GEN PURPOSE REG 7 AND 8 BY 4 AND 8 TO GET TO 

NEXT 'DCB' IN THE LIST OF DCB'S AND THE 

NEXT 'WORK AND CONTROL BLOCK AREA' RESPECTIVELY 



LA 
LA 

B 
DC 

WTO 



INCREMENT XR7 BY 4 
INCREMENT XR8 BY 8 
GO TO CHECK NEXT DCB 



7,4(0,7) 

8,8(0, 8) 

DLOGIC 

CL8 f IGG0190B' 

•HDR ON XXX CHECKS', MF=L 

MY ROUTINE 

WE SET THE HIGH ORDER BIT IN 'STREDMCT' IN THE DCB TO ZERO 
IF WE DETERMINE VIA «DS NAME' AND 'IHDR' THAT WE'VE WRONG 
TAPE MOUNTED WE WILL PUT A ONE IN THIS BIT WHICH INDICATES 
TO THE CONTROL PROGRAM THAT A MOUNT MSG IS IN ORDER 



Part 



A 19-20 



BLOGH 

••• 

• •• 



NI 



SRTEDMCT f X«7F f 



TURN BIT TO 



CHECK 



BUILD THE CCW 

NOTE THAT THIS IS NOT A GENERALIZED ROUTINE TO BUILD CCWS 



ST 

MVI 

MVI 

MVC 

XC 

EXCP 

WAIT 

CLI 

BE 

ABEND 

CLC 

BNE 

CLC 

BNE 

MVC 

MVC 

LA 

WTO 

MVC 

XC 

EXCP 

WAIT 

B 



11»DXCCW1 



READ ADDR TO CCW 



DXCCWUX't^' 
DXCCW1*4,X«20 # 

Dxccwi+emt-H'so' 

DXECBtDXECB 

DXIOB 

ECB*DXECB 

DXECB,X«7F« 

CHECK 

256 t DUMP 

DXLBL(5I,*CL5«IHDR • 

ERROR! 

DXLBL + 2CH 10), JFCBDSNM 

ERR0R2 

MSG, WTO 

MSG+1H 3),UCBNAME 

1,MSG 

MF=(E,< 1) ) 

DXCCW1♦6<2>,«H•1• 

DXECBtDXECB 

DXIOB 

ECB«DXECB 

ALOGIC 



READ 
FLAGS 
COUNT 
RESET ECB 

WAIT FOR COMPLETION 
ERROR CHECK 
READ OK 
ERROR ON READ 



COMPARE TO DSNAME 



EXECUTABLE INSTRUCTIONS 

COUNT 

RESET ECB 

TO POSITION TAPE PAST TAPE MARK 

WAIT FOR COMPLETION 

READ CK 



• ** 

• •• 

• •« 

ERR0R2 
ERROR! 



SET THE "MOUNTING MESSAGE* BIT ON 



01 SRTEDMCT^X'BC' 

EQU ERR0R2 
B MOUNT 



TURN BIT TO ONE 



*•• 

«»* RETURN 

• •* 

ELOGIC LA 15,DXCCW12 P TR TO SUPV PARAM LIST 

LA 11,M0DNAME PTR TO XCTL MODNAME 

LR 1,4 AREA TO BE FREED 

LM 12,14,REGST0R+40 RESTORE REGISTERS 

LM 2,10,REGSTOR RESTORE REGISTERS 

FREEMAIN R,LV*240, A=< 1 > USES REGISTERS AND 1 

XCTL EPLOC*( ll),SF=(E,tl5n USES REGISTERS SPECIFIED 

*•* 

•** CONSTANTS MSG TO BE MOVED TO DXCCW4 AND THEN USED BY IGG0190B 

• «« 

MSSG 



DYNAMIC 
REGSTOR 
MSG 

• «« 

• •• 
«*« 



DC X»C0180CCC« 

DC C« IEC101A M YYY, 

DSECT 

DS 13F 

OS CL21 



DCBD DSORG=PS,DEVD=TA 



Part 



A19-21 



*•* 

• •• 

• «• 
SYMWACBA 

SYMUCB 



OSECT 

IECDSECT 

DSECT 

IEFUCBOB 

END NSLOHDRI 




EBC2 



or EBC1 



EXEC 



OD 

DD 



/• 

// 

//SYSUTi DD 

//SYSLMOD 

//SYSPRINT 

//SYSLIN DO 

// 

//SYSIN DD • 

NAME NSLOHDRKR) 
/* 



PGM 



IEWL,PARM=»NCAL < 

UNIT=23U,SPACE=URK,<20,10) ) ,DISP= (, DELETE) 
DSNAME=SYSl.SVCLIB(NSLOHDRI ) ,DISP= ( OLD, KEEP) 
SYSOUT=A 
0SNAME=6EBC, D I SP=< OLD, DELETE) 
OD DDNAME=SYSIN 



Part 



A19-22 



//HHHH JOB 0,EBCGO,MSGLEVEL=i 

//JOBLIB DD DSNAME»EBCLIB,DISP«(OLD,PASS) 

//GE EXEC PGM*EBC3 

//TAPE1 DD UNIT-180,LABEL=(,NL) ,DSNAME=TAPE180 

//TAPE2 CD UNIT=i81,LABEL=t ,NSL S , VOLUME = SER=TAPE2 , DSNAME=TAPE18 L 

//TAPE3 DO UNIT=182tLABEL-( ,NSL) , VOLUME=SER*TAPE3 ,DSNAHE=T APE182 

//SYSABENO DD SYSOUT=A 

/• 



Execute The Test Progra 



m 



Part I A 19-23 



1,EBC1,MSGLEVEL = 1 

PGMMEHPROGM 
UNIT=2311,VOLUME = SER = 111U1,DISP=<OLD) 
UNlT=23U f VOLUME=SER=222222,DISP*(OLD) 
SYSOUT»A 
SYSOUT=A 
» 

SCRATCH VTQC,VOL=23 11* 111 111, SYS, PURGE 
SCRATCH VTOC,VOL*231 1=222222, SYS, PURGE 
SCRATCH DSNAME=EBC.DDDD,VOL=2311=222222 f PURGE 
/« 



//SCRATCH 


JOB 


// 


EXEC 


//OLIB1 


DP 


//DLI82 


DO 


//SYSPRINT 


00 


//SYSABEND 


DO S 


//SYS IN 


OD 



Used to regain the space the system has used for Scratch Data Sets 



-or- 



To avoid a duplicate name running job DDDD. 



Part I A 19-24 



Q 


//GGGG 




// 


_ _. 


//A DC 




// 




// VARY 




IEF236I 




IEF237I 




IEF285I 




IEF285I 



I 



JCB 0,EBCG0,MSGLEVEL = 1 
EXEC PGM=GO 
DSNAME=EBCL IB, SPACE = ( CYL , < 1, 1, 1 ) ) , V0LUME = SER = 1 HI 1 1 , 

DISP=(NEW,CATLG),UN1T=2311 
192, OFFLINE 
ALLOC. FOR GGGG 
A ON 190 

EBCLIB CATALOGED 

VOL SER NOS= llllll. 



Create a Library (EBCLIB) for the Test Program (EBC3) 



//BBBB JOB 0,fcBCUBC,MSGLEVEL = l 

//STEPNAME EXEC PGM= I EBUPDAT, PARM=NEW 

//SYSPRINT CD SYSOUT=A 
-U //SYSUT2 CC DSNAME=SYSl.MACLIB,DISP=OLD 

Q //SYSIN 00 DATA 

■* IEF236I ALLOC. FOR BBBB STEPNAME 

— IEF237I SYSUT2 ON 190 

IEF237I SYSIN ON OOC 



Put EBC1 in SYS1.MACLIB 



> 

CN 



IEBUPDAT LOG PAGE OOOl 



Q 



> 



./ 


ADD 

MACRO 

EBCl 


EBCl, 


,00,0,1 




DS 


CL13 




UCBNAME 


OS 


CL3 




UCBTYP 


DS 


XL4 






DS 


CL15 




SRTEDMCT 


DS 


XLl 






DS 


CL32 






MEND 







ABOVE NAME(EBCl )F0UND IN NM DIREC TOR Y, TTR IS NOW ALTERED 

./ ENDUP 
HIGHEST CONCOCE WAS 0CCC0OCO 



UNIT NAME IN EBCDIC CHARACTERS 
DEVICE TYPE 

MOUNT BIT IN HIGH ORDER BIT 



IEF285I SYSOUT SYSOUT 

IEF285I VOL SER NOS= 

-O IEF285I SYS1.MACLIB KEPT 

9 IEF285I VOL SER NOS* 111111. 



I 

00 



//CCCC JOB O f EBCWACBA,HSGLEVEL = i 

//STEPNAME EXEC PGM= I EBUPDAT,P ARM=NE W 

//SYSPRINT DD SYSOUT=A 
Q //SYSUT2 CC DSNAME=SYS1.MACLIB,DISP=0LD 

3- //SYSIN CC DATA 

— IEF236I ALLOC. FOR CCCC STEPNAME 

IEF237I SYSUT2 ON 190 

IEF237I SYSIN ON OOC 



Put EBC2 in SYSl.MACUb 



i 



IEBUPDAT 



LOG 



PAGE 0001 



O 



I 

CO 

o 



./ ADO EBC2, 00,0,1 

MACRO 
EBC2 

SPACE 1 

• VCLUME LABEL 
SPACE 1 

DXLBL OS CL80 

OS CL20 

SPACE 1 

• JCB FILE CONTROL BLOCK 
JFCBDSNM DS CL44 DATA SET NAME 

DS CL22 

JFCBLTYP DS CL1 LABEL TYPE 

OS CL51 

JFCBVOLS DS CL30 VCLUME SERIAL NUMBERS 

DS CL28 

SPACE 1 
» EVENT CONTROL BLOCK 

SPACE 1 

DXECB DS 0CL4 

DC X« 00000000* 

SPACE 1 
» INPUT/OUTPUT BLOCK 

SPACE 1 

DXIOB DS CL40 

SPACE 1 

• DATA EXTENT BLOCK 



DATA CONTROL BLOCK 





SPACE 


1 




DS 


CL28 


DXDEBUCB 


DS 


F 




DS 


CL12 




SPACE 


1 




SPACE 


1 




DS 


CL4 




SPACE 


1 




SPACE 


1 




CNOP 


0,8 


DXCCW1 


DS 


D 




DS 


CL16 


DXCCW4 


DS 


D 


DXCCW5 


DS 


D 


DXCCW6 


DS 


D 




DS 


CL40 


DXCCW12 


DS 


D 




SPACE 


1 



CHANNEL CONTROL WORDS 



Q 



IEBUPDAT 

ABOVE NAME1EBC2 )FOUND IN 
HIGHEST CONCOCE WAS 



LOG 



MEND 

NM DIRECTORY, TTR IS NOW ALTERED 
./ ENDUP 

OCCCCOOO 



PAGE 0002 



> 
GO 






IEF285I SYSOUT 

IEF285I VOL SER NOS= 

IEF285I SYSl.MACLIB 

IEF28M VOL SER NOS= llllll. 



SYSOUT 
KEPT 



> 
CO 

to 



//JJJJ JOP 0,EBCUBC,MSGLEVELM 

//STEPNAME EXEC PGM= I E8UPDAT, P ARM=NEW 
-O //SYSPRINT CD SYSOUT^A 

^ //SYSUT2 CC DSNAME=SYS1.MACLIB,0ISP=0LD 

"•" //SYSIN CC DATA 

= IEF236I ALLCC. FOR JJJJ STEPNAME 

IEF237I SYSUT2 ON 190 

IEF237I SYSIN ON OOC 



> 

CO 
CO 



Put IEFUCBOB IN SYS1.MACUB 



-o 

Q 



IE8UPDAT LOG PAGE 0001 

./ AOO IEFUCBCBtOO,0,l 

MACRO 

IEFUCBOB 
» DATE OF THIS UPDATE 13 JULY 65 

» THE INDIVIDUAL UCB S LOOK LIKE THIS. 



* JOB * ALLOC. * UCB • STATUS * 
*INTERNAL*CHANNEL • ID * A • 

* NUMBER • MASK * * • 

» FLAG1 • UNIT • » » 

* AND »ADDRESS * FLAG2 » DEVTAB • 
•CHAN. ADD* * • » 



• ERRTAB • STATAB • LCHTAB * ATNTAB • 



•SCH IOS« 

•FLG FLG» UNIT NAME 



> 

I * * 

5£ ♦ * TYPE 



SENSE 



VOLUME SERIAL 



» STATUS * DATA * 
* B «MANAGMNT* 
» * COUNT • 



VTOC TT « VTOC R * SPARE 



ALL DEVICES 



» LAST 12« » SENSE * »»*»» 

• » * ••• 



TAPE AND DA 



IEBUPCAT 



Q 



LOG 



PAGE 0002 



* CR » OR » 

• FILE SEC COUNT » FILE SEQ. NUMBER • 



• *• •• 
• *• 



SEEK GUEUE 



CONTROL WORD 



MBBCCHHR 



FOR 



DA ONLY 



LAST SEEK 



> 
CO 

Cn 



•1 


CURRENT 


• 










• 


• 


NR. CF 


• 


D 


A 


ECB 


AODRESS 


• 


• 


USERS 


• 










• 



• •••• 
• •• 



UCBOB 


EQU » 






DS 


OF 


SRTFJBNR 


DS 


XL1 


SRTECHAN 


DS 


XLl 


UCBID 


DS 


XLl 


SRTESTAT 


DS 


XLl 


SRTEONLI 


EQU 


128 


SRTECHGS 


EQU 


64 


SRTERESV 


EQU 


32 


SRTEUNLD 


EQU 


16 


SRTEALOC 


EQU 


8 


SRTEPRES 


EQU 


A 


SRTESYSR 


EQU 


2 


SRTEDADI 


EQU 


1 



UCBCHA DS XLl 

UC8UA DS XLl 

UCBFL2 DS XLl 



UNIT CONTROL BLOCKS 

JOB INTERNAL NUMBER 
ALLOC. CHANNEL MASK 
UCB IDENTIFICATION 
STATUS BITS 
ONLINE 

CHANGE ONLINE/OFFLINE 
RESERVED DEVICE 
UNLOAD THIS DEVICE 
BIT 4 ALLOCATED 
BIT 5 PERMANENTLY RESIDENT 
BIT 6 SYSRES 

OR PRIMARY CONSOLE 
BIT 7 DADSM INTERLOCK 
OR TAPE CONTAINS 
STANOARD LABELStOR 
ALTERNATE CONSOLE 
FLAGl AND CHANNEL ADDRESS 
UNIT ADDRESS 
FLAG2 



-o 

Q 



IEBUPDAT 



LOG 



PAGE 0003 






UCBDTi 


OS 


XLl 


UCBETI 


OS 


XLl 


UCBSTI 


DS 


XLl 


UCBLCI 


OS 


XLl 


UCBATI 


DS 


XLl 


UCBWGT 


DS 


XLl 


UCBNAME 


DS 


CL3 


UCBTYP 


DS 


XL4 


UCBTBYTl 


EQU 


UCBTYP 


UCB1FEA0 


EOU 


128 


UCB1FEA1 


EQU 


64 


UCB1FEA2 


EQU 


32 


UCB1FEA3 


EQU 


16 


UCB1FEA4 


EQU 


8 


UCB1FEA5 


EQU 


4 


UCB1FEA6 


EQU 


2 


UCBIFEA7 


EQU 


1 


UCBTBYT2 


EQU 


UCBTYP+1 


UCBTBYT3 


EQU 


UCBTYP^2 


UCB3TAPE 


EQU 


128 


UCB3C0MM 


EQU 


64 


UCB3DACC 


EQU 


32 


UCB3DISP 


EQU 


16 


UCB3UREC 


EQU 


8 


UCB3CHAR 


EQU 


4 


UCBTBYT4 


EQU 


UCBTYP^3 


UCBLTS 


DS 


XL2 


UCBSNS 


DS 


XL6 


SR TE VOL I 


DS 


CL6 


SRTESTAB 


DS 


XLl 


SRTEBSVL 


EQU 


128 


SRTEBVSC 


EQU 


64 


SRTEBALB 


EQU 


32 


SRTEBPRV 


EQU 


16 


SRTEBPUB 


EQU 


2 


SRTEBVQS 


EQU 


4 


SRTEBJLB 


EQU 


2 


SRTEBNUL 


EQU 


1 


SRTEOMCT 


DS 


XLl 


SRTEFSCT 


DS 


XL2 


SRTEFSEQ 


DS 


XL2 


UCBSQC 


DS 


2F 


UCBSKA 


DS 


2F 


SRTEUSER 


DS 


XLl 


SRTEECBA 


DS 


XL3 


OATACELL 


EQU * 





DEVICE TABLE 

ERROR TABLE 

STATUS TABLE 

LOGICAL CHANNEL TABLE 

ATTENTION TABLE 

WEIGHT 

UNIT NAME IN EBCDIC CHARACTEkS 

DEVICE TYPE 

BYTE 1 OF UCBTYPE-MODEL 
BIT OF OPTION FIELD 
BIT 1 OF OPTION FIELD 
BIT 2 OF OPTION FIELD 
BIT 3 OF OPTION FIELD 
BIT 4 OF OPTION FIELD 
BIT 5 OF OPTION FIELD 
BIT 6 OF OPTION FIELD 
BIT 7 OF OPTION FIELD 
BYTE 2 OF UCBTYPE-OPTIONS 
BYTE 3 OF UCBTYPE-CLASS 
BIT OF CLASS - TAPE 
BIT 1 OF CLASS - COMMUNIC. 
BIT 2 OF CLASS - DIRECT AC 
BIT 3 OF CLASS - DISPLAY 
BIT 4 OF CLASS - UNIT REC. 
BIT 5 OF CLASS - CHAR. READ 
BYTE 4 OF UCBTYPE-DEVICE 
LAST 12* 

SENSE INFORMATION 
VOLUME SERIAL 
STATUS B 

SHARED VOLUME 
VOLUME SECURITY 
ADOIT .VOL .LABEL PROC 
PRIVATE 
PUBLIC 

VOLUME TO BE QUIESCE 
TO MOUNT ANOTHER 
JOBLIB VOLUME 
CONTROL VOLUME 
DATA MANAGEMENT COUNT 
FILE SEQ. COUNT 
FILE SEQ. NUMBER 
SEEK QUEUE CONTROL WORO 
MBBCCHHR FOR LAST SEEK 
CURRENT NUMBER OF USERS 
DA ECB ACORESS 
OF THESE BLOCKS WILL BE PRESENT 



BIT 





BIT 


I 


BIT 


2 


BIT 


3 


BIT 


4 


BIT 


5 


BIT 




BIT 


6 


BIT 


7 



IEBUPDAT 



LOG 



Q 



DCELJBNR 


DS 


XLl 


OCELUSER 


DS 


XL1 


DCELSTAB 


DS 


XLL 


DCELSTAT 


DS 


XLl 


OCELVOLI 


DS 


CL6 


DCELVTOC 


DS 


XL3 


DCELECBA 


DS 
MEND 


XL3 



PAGE 0004 



JOB INTERNAL 

CURRENT NUMBER OF USERS 

STATUS B 

STATUS A 

VOLUME SERIAL 

VTOC ADDRESS 

DA ECB ADDRESS 



ABOVE NAME{ IEFUCBURJNOT FOUND IN NM DIRECTORY STOWED WITH TTR 

./ ENDUP 
HIGHEST CONCODE WAS COCCOOOO 



> 
CO 



Q 



IEF285I SYSOUT 

IEF285I VOL SER NOS= 

IEF285I SYSi.MACLIB 

IEF285I VOL SER NOS= 111111. 



SYSOUT 
KEPT 



I 

CO 
00 



3 //IIII JCe 0,ECBL,MSGLEVEL=1 

"* //STEPNAME EXEC PGM= I EBUPDAT, P ARM=NEW 

— //SYSPRINT CD SYSOUT=A 

//SYSUT2 CC DSNAME=SYS1.MACL IB,DISP=OLD 

//SYSIN CC DATA 

IEF236I ALLOC. FOR IIII STEPNAME 

IEF237I SYSUT2 ON L90 

IEF237I SYSIN UN OOC 



> 
CO 



Put IECDSECT in SYS1.MACLIB 



Q 



IEBUPDAT 



LOG 



./ 



PAGE OOOl 



I 

O 



ADD IECDSECT,00,0,1 

MACRO 

IECDSECT 

SPACE 1 



SPACE 1 



SPACE I 



THIS MACRO IS USED TO DEFINE THE WORK AREA 
FOR ALL MODULES OF OPEN, CLOSE, TCLOSE 
AND END OF VOLUME FOR O/S 360 

THIS MACRO DEFINES A WORK AREA WITH THE 
FOLLOWING FORMAT 

1. LABELS AND DSCB 
LABELS 

VOLUME LABEL 

FILE LABEL 1 

FILE LABEL 2 
DSCB 

FORMAT 1 

FORMAT 3 KEY 

FORMAT 3 DATA 

CORE ADDRESS OF NEXT DSCB 
MESSAGE AREA 



2.JFCB 
3.ECB 
4.I0B 
5. DEB 
6.DCB 
7-CCW S 





SPACE 


I 


• ••• 


SPACE 


2 


• ••• 






» »•• 






• »*» 


SPACE 


1 


DXLBL 
VOLLABI 


SPACE 

DS 
DS 


1 

0CL8O 

CL3 





100 


BYTES 




176 


BYTES 




4 


BYTES 




40 


BYTES 




44 


BYTES 




4 


BYTES 




96 


BYTES 


AL 


••• 464 


BYTES 



VOLUME LABEL 



LABEL IDENTIFIER 



1EBUPDAF 



LOG 



PAGE 0002 



-o 

Q 



NO 

I 



V0LN0 


DS 


CL1 


VOLSERNO 


DS 


CL6 


VOL SEC 


DS 


CL1 




DS 


0CL10 


VOLVTOC 


DS 


CL5 




DS 


CL5 




DS 


CLIO 




DS 


CLIO 


VOLOWNER 


DS 


CLIO 




DS 


CL29 




SPACE 


1 




SPACE 


1 




ORG 


DXLBL 


FLILABI 


DS 


CL3 


FLiNO 


DS 


CLl 


FL1ID 


DS 


CL17 


FLIFILSR 


DS 


CL6 


FL1V0LSQ 


DS 


CL4 


FL1FILSQ 


DS 


CL4 


FLIGNO 


DS 


CL4 


FL1VNG 


DS 


CL2 


FL1CRE0T 


DS 


CL6 


FL1EXPDT 


DS 


CL6 


FL1FSEC 


DC 


C'0» 


FLIBLKCT 


DS 


CL6 


FLISYSCD 


DS 


CL13 


FL1RES 


DS 


0CL7 




DS 


CLl 


FL1RES1 


DS 


CL6 




SPACE 


1 




SPACE 


I 




ORG 


FL1ID 


FL2RECFM 


DS 


CLl 


FL2BLKL 


DS 


CL5 


FL2LRECL 


DS 


CL5 


FL2DEN 


DS 


CLl 


FL2FILP 


DS 


CLl 


FL2JSID 


DS 


0CL17 


FL2J0BD 


DS 


CL8 


FL2JSSP 


DC 


C'/' 


FL2STEPD 


DS 


CL8 


FL2TRTCH 


DS 


CL2 


FL2CNTRL 


DS 


CLl 


FL2RES 


DS 


CL43 




SPACE 


I 



FILE LABEL 1 



FILE LABEL 2 



VOLUME LABEL NUMBER 



RESERVED 



RESERVED 
RESERVED 

OWNER NAME AND ACDRESS CODE 
RESERVED 



LABEL IDENTIFIER 

FILE LABEL NUMBER 

FILE IDENTIFIER 

FILE SERIAL NUMBER 

VOLUME SEQUENCE NUMBER 

FILE SEQUENCE NUMBER 

GENERATION NUMBER 

VERSION NUMBER OF GENERATION 

CREATION DATE 

EXPIRATION DATE 

FILE SECURITY INDICATOR 

BLOCK COUNT 

SYSTEM CODE 

RESERVED FOR FUTURE USE 



RECORD FORMAT 

BLOCK LENGTH 

BLOCKING FACTOR/RECORD LENGTH 

DENSITY 

FILE POSITION 

JOB/STEP IDENTIFICATION 

JOB IDENTIFICATION 

SLASH 

STEP IDENTIFICATION 

TAPE RECORDING TECHNIQUE 

CARRAIGE CONTROL CHARACTER 

RESERVED FOR FUTURE USE 



IEBUPDAT 



LOG 



PAGE 0003 



Q 



I 



• 




DATA SET 




SPACE 


1 




ORG 


DXL3L 


DXDSCB 


OS 


0CL96 


DSCFMTID 


DC 


C'l • 


DSCFILSR 


DS 


CL6 


DSC VOL SK 


DS 


CL2 


DSCCREDT 


DS 


CL3 


DSCEXPOT 


DS 


CL3 


DSCNOEXT 


DS 


CL1 


OSCBLORL 


DS 


CL1 




DS 


CLl 


DSCSYSCD 


DS 


CL13 




DS 


CL7 


DSCFILTY 


DS 


CL2 


DSCRECFM 


DS 


CLl 


DSCOPTCD 


DS 


CLl 


OSCBLKL 


DS 


CL2 


DSCLRECL 


DS 


CL2 


DSCKEYL 


DS 


CLl 


DSCRKP 


DS 


CL2 


DSCDSIND 


DS 


CLl 


DSCSCALO 


DS 


CL4 


DSCLSTAR 


DS 


CL5 


DSCTRBAL 


DS 


CL2 


DSCEXTYP 


DS 


CLl 


DSCEXTSQ 


DS 


CLl 


DSCLOViLM 


DS 


CL4 


DSCUPPLM 


DS 


CL4 


DSCEXTl 


DS 


CLIO 


DSCEXT2 


DS 


CLIO 


DSCNEXT 


DS 


CL5 


DSCCORE 


DS 


CL4 


DSCBEND 


EQU 


• 




SPACE 


1 


• 




DATA SET 




SPACE 


1 




ORG 


DXDSCB 


DXDSCB3K 


DS 


0CL40 


DSCBF3C 


DC 


X«03030303' 


DSCBEXSK 


DS 


0CL4 


DSCBEXTY 


DS 


CLl 


DSCBEXSQ 


DS 


CLl 


DSCBLLMT 


DS 


CL4 


DSCBULMT 


DS 


CL4 


DSCBEX2 


DS 


CLIO 


DSCBEX3 


DS 


CLIO 



CONTROL BLOCK 



FILE SERIAL NUMBER 

CREATION DATE IN DISCONTINOUS BIN 
EXPIRATION DATE IN DISCONTINOUS BIN 



SYSTEM CODE 

FILE TYPE 
RECORD FORMAT 
OPTION CODE 
BLOCK LENGTH 
RECORD LENGTH 
KEY LENGTH 
KEY LOCATION 



EXTENT TYPE INDICATOR 
EXTENT SEQUENCE NUMBER 



POINTER TO NEXT RECORD 

CORE ADDRESS OF NEXT DSCB RECORD 



CONTROL -FORMAT 3- KEY PORTION 



EXTENT TYPE INDICATOR 
EXTENT SEQUENCE NUMBER 
CCHH LOWER LIMIT 
CCHH UPPER LIMIT 
ADDITIONAL EXTENT 
ADDITIONAL FXTENT 



-o 

Q 



IEBUPUAT 



> 

CO 



LOG 










PAGE CCC4 


DSCBEX4 


DS 
SPACF 


CLIO 
1 


ADDIT IONAL 


EXTENT 




• 




DATA SET 


CONTROL BLOCK -FORMAT 3- 


RECORD PORTION 




SPACE 


1 










ORG 


DXDSCB 








DXCBFMID 


DC 


C'3' 


FORMAT ID 






DSCBEXSD 


DS 


0CL90 


ADDITIONAL 


EXTENTS 




DSCBEX5 


DS 


CLIO 


ADDITIONAL 


EXTENT 




DSCBEX6 


DS 


CLIO 


ADDITIONAL 


EXTENT 




DSCBEX7 


DS 


CLIO 


ADDITIONAL 


EXTENT 




DSCBEX8 


DS 


CLIO 


ADDITIONAL 


EXTENT 




DSCBEX9 


DS 


CLIO 


ADDIT IONAL 


EXTENT 




DSCBEXA 


DS 


CLIO 


ADDITIONAL 


EXTENT 




DSCBEXB 


DS 


CLIO 


ADDITIONAL 


EXTENT 




DSCBEXC 


DS 


CLIO 


ADDITIONAL 


EXTENT 




DSCBEXD 


DS 


CLIO 


ADDITIONAL 


EXTENT 




DSCBNEXT 


DS 


CL5> 


CCHHR OF NEXT FORMAT 3 DSCB 




SPACE 


1 








• 


SPACE 
ORG 


MESSAGE 
1 
DXDSCB 


AREA 






REPLYLTH 


DS 


CL1 








REPLYADR 


DS 


CL3 








REPLYECB 


DS 


CL4 








MSGLSTSZ 


DS 


CL4 








MESSAGEA 


DS 


CL60 








REPLY 


DS 


CLIO 









ORG MESSAGEA 
DEFINITION CF LENGTH OF 



MESSAGE COMPONENTS 



MSERL 

MINSTL 

MUNL 

MVOLL 

• MTXTL 

• MSGLTH 
• 

MSGIOSUP 
MSGSER 

MSGSERLO 

MSGINSTR 

MSGACTN 



EQU 
EQU 
EQU 
EQU 



DC 

DS 

ORG 

DS 

ORG 

DC 

ORG 

DS 

DC 



MESSAGE SERIAL NUMBER LENGTH 
MSG INSTRUCTION LTH INC MSG SE* 
MESSAGE UNIT NAME LENGTH 
MESSAGE VOLUME SERIAL LENGTH 

NAY BE DEFINED BY EACH MODULE TO FIT REQUIREMENT 

CF FULL MSG DEFINED BY EACH MODULE 

IS IECOOOA M 000,00000 TEXT 

I/O SUPPORT MESSAGt IDENTITY 
MESSAGE SERIAL NUMBER 



3 

6 

3 

6 

LENGTH 

LENGTH 

MESSAGE FORMAT 

CL3«IEC« 

0CL3 

MSGSER MSERL-1 

CLl 

MSGSER 

CL6'000A M' 

MSGINSTR MINSTL 

CLl 

C» ' 



VOLUME SERIAL LO ORDER BYTE 



MESSAGE INSTRUCTION INCL MSGSER 



MESSAGE ACTION REQD BY OPERATOR 



IEBUPDAT 



LOG 



PAGE 0005 



-O 
Q 



I 



MSGUN 


DC 


CL3'000* 




DC 


C',« 


MSGVOLSR 


DC 


CLb^OOOOOO' 




DC 


C',' 


MSGTEXT 


DS 


0CL38 



UNIT NAME THAT MSG REFERS TO 
VOLUME SERIAL THAT MSG REFRS TO 



DXJBF 



SPACE i 

JOB FILE CONTROL BLOCK 
ORG DSCBEND 
DS 0CL176 



JFCB 



CL44 DATA SET NAME 

CL8 ELEMENT NAME OR VERSION 

CL1 TASK SCHEDULER - DATA 

MANAGEMENT INFERFACE BYTE 
CL13 SYSTEM CODE 
CLl LABEL TYPE AND USER'S-LABEL 

INDICATOR 
CLl NOT USED 
CL2 FILE SEQUENCE NUMBER 
CL2 VOLUME SEQUENCE NUMBER 
CL8 DATA MANAGEMENT MASK 
CL3 DATA SET CREATION DATE 
CL3 DATA SET EXPIRATION DATE 
CLl INDICATOR BYTE 1 
64 BITS AND 1 - EXTERNAL 



INFMJFCB 


EQU 


JFCBDSNM 


DS 


JFCBELNM 


DS 


JFCBTSDM 


DS 


JFCBSYSC 


DS 


JFCBLTYP 


DS 




DS 


JFCBFLSQ 


DS 


JFCBVLSQ 


DS 


JFCBMASK 


DS 


JFCBCRDT 


DS 


JFCBXPDT 


DS 


JFCBINDl 


DS 


JFCBRLSE 


EQU 


JFCBLOCT 


EQU 


JFCBNEWV 


EQU 



JFCBPMEM EQU 

• 

JFCBIND2 DS 

JFCBSTAT EQU 

• 

JFCBSCTY EQU 



16 BITS 2 AND 3 - DATA SET 

4 BITS 4 AND 5 - NEW VOLUME 

1 BITS 6 AND 7 - DATA SET IS 

CLl INDICATOR BYTE 2 

64 BITS AND 1 - DATA SET 

16 BITS 2 AND 3 - DATA SET 



STORAGE RELEASE INDICATOR 

HAS BEEN LOCATED 

ADDED TO DATA SET 

A MEMBER OF A PODS OR GDG 

STATUS (NEWt OLDt OR MOD) 
SECURITY INDICATOR 



JFCBUFNO 


DS 


0AL1 


JFCBUFRQ 


DS 


AL1 


JFCBFTEK 


DS 


0BL1 


JFCBFALN 


DS 


BL1 


JFCBUFL 


DS 


AL2 



IEBUPDAT 



LOG 



PAGE 0006 



Q 



> 

Oi 



JFCEROPT 


DS 


BL1 




JFCTRTCH 


DS 


0BL1 




JFCKEVLE 


DS 


0AL1 




JFCMODE 


DS 


OBL1 




JFCC00E 


DS 


0BL1 




JFCSTACK 


DS 


0BL1 




JFCPRTSP 


DS 


BLl 




JFCDEN 


DS 


BLl 




JFCLIMCT 


DS 


AL3 




JFCDSORG 


DS 


BL2 




JFCRECFM 


DS 


BLl 




JFCOPTCD 


DS 


BLl 




JFCBLKSI 


DS 


AL2 




JFCLRECL 


DS 


AL2 




JFCNCP 


DS 


AL1 




JFCNTM 


DS 


ALl 




JFCRKP 


DS 


AL2 




JFCCVLOF 


DS 


ALl 




JFCDBUFN 


DS 


ALl 




JFCINTVL 


DS 


ALl 




JFCCPRI 


DS 


BLl 




JFCSOWA 


DS 


AL2 




JFCBNTCS 


DS 


CL1 


NUMBER OF OVERFLOW TRACKS 


JFCBNVOL 


DS 


CL1 


NUMBER OF VOLUME SERIAL 


• 






NUMBERS 


JFCBVOLS 


DS 


CL30 


i VOLUME SERIAL NUMBERS (THE 


• 






FIRST FIVE) 


JFCBEXTL 


DS 


CL1 


LENGTH OF BLOCK OF EXTRA 


• 






VOLUME SERIAL NUMBERS 


• 






(BEYOND FIVE) 


JFCBEXAD 


DS 


CL3 


TRACK ADDRESS OF BLOCK OF 


• 






EXTRA VOLUME SERIAL NUMBERS 


JFCBPQTY 


DS 


CL3 


PRIMARY QUANTITY OF D.A. 


• 






STORAGE REQUIRED 


JFCBCTRI 


DS 


CL1 


INDICATES WHETHER CYLINDERS 


• 






TRACKS. OR RECORDS ARE 


• 






SPECIFIED IN JFCBPQTY AND 


• 






JFCBSQTY 


JFCBSQTY 


DS 


CL3 


SECCNDARY QUANTITY OF D.A. 


• 






STORAGE REQUIRED 


JFCBIND3 


DS 


CL1 


INDICATOR BYTE 3 


JFCBCNTG 


EQU 


64 BITS AND 1 - CONTIGUOUS 


• 






STORAGE INDICATOR 


JFCBMXIG 


EQU 


16 BITS 2 AND 3 - MAXIMUM 


• 






AVAILABLE EXTENT INDICATOR 


JFCBALXI 


EQU 


A BITS 4 AND 5 - ALL EXTENTS 


• 






INDICATOR 



IEBUPDAT 



Q 



I 



LOG 

JFCBRNDC EQU 
JFCBDQTY OS 
JFCBSPNM DS 

JFCBABST DS 
JFCBSBNM DS 



JFCBDRLA OS 
JFCBVLCT DS 
JFCBSPTN DS 



PAGE 0007 



I BI T 6 AND 7 - ROUND 

CYLINDER INDICATOR 
CL3 QUANTITY OF D.A. STORAGE 

REQUIRED FOR A DIRECTORY 
CL3 CORE ADDRESS OF THE JFCB 

WITH WHICH CYLINDERS ARE 

SPLIT 
CL2 RELATIVE AODRESS OF FIRST 

TRACK TO BE ALLOCATED 
CL3 CCRE ADDRESS OF THE JFCB 

FROM WHICH SPACE IS TO BE 

SUBALLOCATED 
CL3 AVERAGE DATA RECORD LENGTH 
CL1 VCLUME COUNT 



CL1 NUMBER OF TRACKS PER 



CYLINDER TO BE USED BY THIS 
DATA SET WHEN SPLIT 
CYLINDERS IS INDICATED 



JFCBLGTH 


EQU 


176 LENGTH CF JFCB 


JFCBEND 


EQU 


• 


• 




EVENT CONTROL BLOCK 




SPACE 


I 


DXECB 


DS 


0CL4 




DC 


X'OOOOOOOO* 




SPACE 


1 


• 




INPUT/OUTPUT BLOCK 




SPACE 


1 


DXIOB 


DS 


0CL32 


IOBFLAG1 


DC 


X^OO* 


IOBFLAG2 


DC 


X«00« 


IOBSENSE 


DS 


OH 


IOBSENSO 


DS 


CLl 


• 




Q Q 


IOBSENSl 


DS 


CLl SENSE BYTE TIT 


IOBECBPT 


DS 


XL1 




DC 


AL31DXECBI 


IOBCSW 


DS 


OD 


IOBCOMAD 


DC 


X'OOOOOOOO 1 KEY, 0000, COMMAND ADDRESS 


IOBSTATO 


DC 


X'OO 1 STATUS BYTE 


IOBSTATl 


DC 


X«00» STATUS BYTE 1 


IOBCNT 


DC 


X«0000« COUNT 


IOBSIOCC 


DS 


XL1 


I OB START 


DC 


AL3(DXCCW) 


IOBWGHT 


DS 


XLl 


IOBDCBPT 


DC 


AL3(DXDCB) 




DS 


XLl 




DS 


XL3 



Q 



IEBUPDAT 



LOG 



PAGE C008 



> 



IOBINCAM 


DC 


X'OOOO 1 


IOBERRCT 


OS 


XL2 


DXDAAODR 


DS 


D DIRECT 




SPACE 


I 


• 




DATA EXTENT BLOCK 




SPACE 


1 


DYYYY 


DS 


0CL44 


OXDE8 


EQU 


DYYYY-4 


DXDEBDEB 


DC 


X'OOOOOOOO' 


DXDE8DFL 


DS 


OCLl 


DXDEBIRB 


DC 


X'OOOOOOOO' 


OXDEBSYS 


DC 


X'OOOOOOOO' 


DXOEBUSR 


DC 


X'OOOOOOOO' 


DXDEBECB 


DC 


X«00000000' 


DXOEBID 


DS 


OCLi 


DXDEBDCB 


DC 


AL4(DXDCB) 


OXDCBAO 


EQU 


DXDEBDCB 


DXDEBAPP 


DS 


CL4 


DXDEBMOD 


DS 


OCLl 


DXDEBUCB 


DS 


F 


DXDEBBIN 


DS 


H 


DXDEBSCC 


DS 


H 


DXDEBSHH 


DS 


H 


DXDEBECC 


DS 


H 


DXDEBEHH 


DS 


H 


DXDEBNTR 


DS 


H 




SPACE 


I 


• 




DATA CONTROL BLOCK 




SPACE 


1 


DXXXX 


DS 


OF 


DXDC8 


EQU 


I5XXXX-44 POINTE 


DXDCBDEB 


DC 


A(DXDEB) 


• 




CHANNEL CONTROL WORDS 




SPACE 


1 




CNOP 


0,8 


DXCCW 


DS 


0CL96 


DXCCWl 


DS 


D 


OXCCW2 


DS 


D 


DXCCW3 


DS 


D 


DXCCWA 


DS 


D 


DXCCW5 


DS 


D 


DXCCW6 


DS 


D 


DXCCW7 


DS 


D 


DXCCW8 


DS 


D 


DXCCW9 


DS 


D 


DXCCWIO 


DS 


D 


DXCCWU 


DS 


D 



DIRECT ACCESS ADDRESS MBBCCHHR 



POINTER TO RELATIVE BEGINNING OF DCB 



-a 

Q 



IEBUPDAT 



LOG 



PAGE 0009 



I 
00 



ABOVE NAMt( IECOSECT )NOF FOUND 
HIGHEST CCNCODE WAS 



DXCCW12 DS 

SPACE I 

DSECTSIZ EQU 464 
MEND 

IN NM DIRECTORY STOWED WITH TTR 
./ ENDUP 

OCCCCOOO 



CORE AREA REQUIRED FOR THIS MACRO 



Q 



IEF285I 
IEF285I 
IEF285I 
IEF285I 



SYSOUT 

VOL SER NOS= 
SYSl.MACL IB 
VOL SER NOS= 



SYSOUT 
KEPT 



llllll 



> 



13 



///»AAA JCB 0,FRC,MSGLEVEL=1 

//AA EXEC PGH=IEUASM,PARy = ( DECK ) 

9 //SYSLIB DO DSNAMF = SYSl.MACL IB.DI SP=OLD 

//SYSUT1 CD UNlT = 2311 f SPACE=( 17C0, (400,50)) 

//SYSUT2 CD UNIT=231i,SPACt=( 17CC, (400,50) ) 

//SYSUT3 DD UNIT = 23ll,SPACE = ( 17C0, (400,50) ) 

//SYSPRINT CD SYSOUT=A 

//SYS PUNCH CC UN IT = 23 lit DSNAME=£.E, SP ACE =( 80 , ( 2G0 1 50) ) ,DI SP= ( NEW , PASS ) 

//SYSIN CD * 

IEF236I ALLCC. FOR AAAA AA 

IEF237I SYSLIB ON 190 

IFF237I SYSUT1 UN 190 

IEF237I SYSUT2 UN 190 

IEF237I SYSUT3 ON 191 

IEF237I SYSPUNCH UN 190 

IEF237 I SYS IN UN OOC 



I 

Cn 

O 



Assemble Test Program (EBC3) and Link Edit Into EBCLIB 



Q 



EXTERNAL SYMBOL DICTIONARY 



SYPBCL TYPE ID ACDR LENGTH LD ID 



PAGE I 

00.02 10/07/66 



I 

(J1 



NSLTEST SD 01 000000 C001B4 



TC TEST NSLOHDR I 



PAGE 



-o 
Q 



LOC CBJECT CGDE 



ACCK1 AD0R2 STMT 



SOURCE STATEMENT 



F24JUNE66 10/07/66 



l 



000000 






000000 






000000 


90tC 


DOOC 


000004 


0530 




000006 






000006 


4140 


3166 


00000A 


5040 


D008 


OOOOOE 


50 00 


316A 


000012 


4 ICO 


3166 


000016 


0700 




000018 


4510 


3022 


00001C 


OF 




00001C 


000030 


000020 


00 




000021 


000090 


000024 


80 




000025 


OOOOFO 


000028 


0A13 




00002A 


4 7F0 


314A 



2 NSLTEST START 





3 


SAVE 




4 + 


OS 


oococ 


5 + 


STM 




6 


8ALR 




7 


USING 


C016C 


8 


LA 


00008 


9 


ST 


0017C 


10 


ST 


C016C 


11 


LA 




12 


OPEN 




13 + 


CNOP 


00C28 


14 + 


BAL 




15 + 


OC 




16 + 


DC 




17 + 


DC 




18 + 


DC 




19 + 


DC 




20+ 


DC 




21 + 


SVC 


C015C 


22 


B 




23 DATA1 


DCB 



SAVE REGISTERS IN HIS SAVE AREA 



00002E 
000030 
000030 



000030 0000000000000000 

000040 00 

000041 000000 



000044 1 

000045 000001 
000048 0000 
00004A 4000 
00004C 00000001 



24 



26+* 
27 + * 
28+ 
29+DATA1 

30+ 

32 + * 

34+ 

35 + 

36 + 

38+* 

4 0+ 

41 + 

42 + 

43 + 

44 + 



ORG 

DS 

ORG 



DC 
DC 
DC 



DC 
DC 
DC 
DC 
DC 



(1 ,12) ,T 

OH 

14,12,12(13) SAVE REGISTERS 

3,0 

*,3 

4,SAVEAREA VY SAVE AREA ADOR TU GR 4 

4,8(0,13) MY SAVE AREA ADOR TO HIS WD3 

13,SAVEAREA+4 HIS SAVE AREA ADOR TO WO 2 

13,SAV£AREA MY SAVE AREA ADOR TU GR 13 

(DATA1, (CUT PUT ) , AT A2 , , CAT A3 ) 

0,4 

l,*+16 LOAD REGl W/LIST ADDR. 

AL1 ( 15) CPTION BYTE 

AL3(DATA1) DCB ADDRESS 

ALl (0) CPTION BYTE 

AL3(DATA2) DCB ADDRESS 

ALH128) OPTION BYTE 

AL3IDATA3) DCB ADDRFSS 

19 ISSUE CPEN SVC 

LAST 

DSORG=PS,MACRF= (PL) , DCNAME=T APE 1, DEVD = T A, R ECFM=FB S, 

LRECL=80,BLKSIZE=80,BUFN0=1, BFALN=D, BFTEK=S, ERUPT =ABE 

»,**• IHB063 DDNAME SHCRT-PADDED TO 8 CHAR 



DATA CONTROL BLOCK 

*-0 TC ELIMINATE UNUSED SPACE 
OF ORIGIN ON WORD BOUNDRY 
»+0 TC ORIGIN GENERATION 

MAGNETIC TAPE CEVICE INTERFACE 

BL16'0' NERRS, NOISE, UERRS.BLKCT 

BL1 '00000000' TRTCH 

BL3' 000000000000000000000000' OEVT,DEN 

COMMON ACCESS METHOO INTERFACE 

ALK1) BUFNO 

AL3(1) BUFCB 

AL2(0) BUFL 

BL2 '0100000000000000' OSORG 

A(l) ICBAD 



000050 42 

000051 000001 

000054 98 

000055 000000 



46+* 

48 + 
4 9+ 
50+ 
51 + 



FOUNDATION EXTENSION 

DC BL1 '01000010' BFTEK.BFALN 

OC AL3(1) ECDAD 

OC BLl ' 10011000' RECFM 

DC AL3(0) EXLST 



000058 E3CIC7C5F14O4O40 



53+* 
55 + 



DC 



FOUNDATION BLOCK 
CL8'TAPE1' DDNAME 



TO TEST NSLCHDRI 



PAGE 



-o 

Q 



LCC C8JECT CODE 

000060 02 

000061 00 
00006? 0048 



ACDR1 AD0R2 



MT 


SOURCE 


STATEMENT 




56 + 




DC RLl 1 


•00000010' CFLGS 


57 + 




DC BLl' 


'00000000' IFLG 


58 + 




DC 8L2 1 


'0000000001001000 



F24JUNE66 10/07/66 



• MACR 



60 + « 



BSAM-BPAM-QSAM INTERFACE 



000064 00 

000065 000001 
000068 00000001 
00006C 0000 
00006E 0050 
000070 00000000 
000074 00000001 

000078 00 

000079 000001 



62 + 


DC 


63 + 


DC 


64 + 


DC 


65 + 


DC 


66 + 


DC 


67 + 


DC 


68 + 


DC 


69+ 


DC 


70 + 


DC 



72+» 



BLl '00000000' 

AL3(l) CHECK, GERR, PERR 

A(l) SYNAD 

H'O' CIND1, CIND2 

AL2(80) BLKStZE 

F'O' WCPC, WCPL, OFFSR, OFFSW 

A(l) ICBA 

ALl(O) NCP 

AL3(1) ECRR, EORAD 

QSAM INTERFACF 



I 

GO 



00007C 00000001 
000080 0000 
000082 0050 

000084 20 

000085 000001 
000088 00000000 
00008C 00000001 



74 + 


DC 


75+ 


DC 


76 + 


DC 


77 + 


DC 


78 + 


DC 


7 9+ 


DC 


8 0+ 


DC 


81 DATA2 


DCB 



82 



A{1) RECAD 

H'O' CSWS 

AL2(80) LRECL 

BLl '00100000' EROPT 

AL3(1) CNTRL 

F'O' PRECL 

A(l> ECB 

DSORG=PS,MACRF= (GL) , DDNAME=T APE2, DfcVD=T A, RECFM = FBS, 

LRECL=80,BLKSIZE=80, BUFNO= 1, BFALN=D, BFTEK=S, EROP T=ABE 

»,»»• IHB063 DONATE SHORT-PADDED TO 8 CHAR 



000090 
000090 
000090 



84+« 




85+« 




86+ * 


ORG 


87+DATA2 


DS 


88+ 


ORG 



DATA CONTROL BLOCK 

•-0 TC ELIMINATE UNUSED SPACE 
OF ORIGIN ON WORD BOUNDRY 
»+0 TC CRIGIN GENERATION 



90+» 



MAGNETIC TAPE DEVICE INTERFACE 



000090 0000000000000000 
OOOOAO 00 
00O0A1 000000 



92 + 


DC 


93 + 


DC 


94 + 


DC 



BL16'0' NERRS, NOISE, UERRS.BLKCT 

BLl '00000000' TRTCH 

BL 3 '000000000000000000000000' OEVT,DEN 



96 + * 



COMMON ACCESS METHOD INTERFACE 



0000A4 01 
0000A5 000001 
0000A6 0000 
OOOOAA 4000 
OOOOAC 00000001 



98 + 


DC 


99 + 


DC 


1C0+ 


DC 


101 + 


DC 


102 + 


DC 



ALl(l) BUFNO 
AL3(1) BUFCR 
AL2(0) BUFL 

BL2'0100000000000000« CSORG 
All) ICBAD 



l04 + » 



FOUNDATION EXTENSION 



OOOOBO 42 
0OO0B1 000001 
0000B4 98 
0000B5 000000 



ICA + 


DC 


107 + 


DC 


108 + 


DC 


IC9+ 


DC 



BLl '01000010' BFTEK,RFALN 
AL3I1) ECDAD 
BLl '10011000' RECFM 
AL3(0) EXLST 



TC TEST MSLljHDwl 



PAGE 



-a 
Q 



LCC CPJf-CT CCDt 



ACDR 1 A0DR2 STMT 



111 + * 



SOURCE STATEMENT 



F24JUNE66 10/07/66 



FCUNDATION BLOCK 



OOOOBB E3C107C5F24C40<.C 

OOOOCO 0? 

0000C1 00 

OOOOC? 4B00 



1 13 + 


DC 


1 14 + 


DC 


1 15 + 


DC 


1 16 + 


DC 



CL8'TAPE2' DDNAKE 
RL1 '00000010' OFLGS 
BL1 '00000000' IFLG 
BL2 '0100100000000000' 



MACR 



1 1H + * 



BSAM-BPAM-USAM INTERFACE 



O0OOC4 00 
0000C5 00000 1 
0000C8 00000001 
OOOOCC 0000 
OOOOCE 0050 
OOOOCO 00000000 
0000D4 0000000 1 
0000C8 00 
0000C9 000001 



120 + 


DC 


121 + 


DC 


12 2 + 


DC 


123 + 


DC 


124 + 


DC 


125 + 


DC 


126 + 


DC 


127 + 


DC 


128 + 


DC 



BLl '00000000' 

AL3 (1 ) CHECK, GERR, PERR 

Ad) SYNAD 

H'O' CIND1, CIND2 

AL2(80) BLKSIZE 

F'O' WCPC, WCPL, OFFSR, OFFSW 

A(l) ICBA 

AL1 (0) NCP 

AL3(1) ECBR, EOBAD 



13C + * 



QSAM INTERFACE 



> 



OOOODC 00000001 
OOOOEO 0000 
0000E2 0050 
0000E4 20 
0000E5 000001 
0000E8 00000000 
OOOOEC 00000001 



132 + 


DC 


13 3+ 


DC 


134 + 


DC 


135 + 


DC 


136 + 


DC 


13 7+ 


DC 


138 + 


DC 


139 DATA3 


DCB 



14C 



A(l) RECAD 

H'O* CSHS 

AL2(80) LRECL 

BLl '00100000' EROPT 

AL3(l) CNTRL 

F'O' PRECL 

A(l) ECB 

DSORG=PS,NACRF= (GL) , DDNAME= T APE 3, DEVD=T A, RECFM = FB S, 

LRECL=80,BLKSI ZE=8 , BUFN0=1, BFALN=D, BFTEK =S, EROPT =ABE 

♦ ,.#. IHB063 DONATE SHORT-PADDED TO 8 CHAR 



0000 FO 
OOOOFO 
OOOOFO 



142+* 




143+» 




144+ 


ORG 


145+DATA3 


DS 


146 + 


ORG 



DATA CONTROL BLOCK 

•-0 TC ELIMINATE UNUSED SPACE 
OF ORIGIN CN WORD BOUNDRY 
*+0 TC CRIGIN GENERATION 



148 + » 



MAGNETIC TAPE CEVICE INTERFACE 



OOOOFO 0000000000000000 

000100 00 

000101 000000 



15C+ 


DC 


151 + 


DC 


152 + 


DC 



BL16'0' NERRS, NOISE, UERRS, BLKCT 

BLl '00000000' TRTCH 

BL3' 00000000000000000 0000000* DEVT.DEN 



154 + * 



COMMON ACCESS METHOD INTERFACE 



000104 01 

000105 000001 
000108 0000 
00010A 4000 
00010C 00000001 



^00110 42 



156+ 


DC 


157 + 


DC 


158+ 


DC 


159 + 


DC 


16C+ 


DC 


162+» 




164 + 


DC 



ALl(l) BUFNC 
AL3U) BUFCB 
AL2(0) BUFL 

BL2'0100000000000000' DSORG 
All) ICBAD 

FCUNDATION EXTENSION 

B*«i/01000010' BFTEK, BFALN 



TO TEST NSLOHDRI 



PAGE 



Q 



LOC CBJECT CODE 



ADDR 1 ADDR2 STMT 



SOURCE STATEMENT 



F24JUNE66 10/07/66 



oooui ooooni 

000114 98 

000115 000000 



165 + 

166 + 

167 + 



DC AL3(l) ECDAD 

DC BLl • 10011000' RECFf 

DC AL3(0) EXLST 



169+» 



FCUNDATION BLOCK 



000118 E3CID7C5F34O4O40 

000120 02 

000121 00 

000122 4800 



171 + 


DC 


172 + 


DC 


173 + 


DC 


1 74 + 


DC 



CLB'TAPE3' ODNAME 
BLl '00000010' OFLGS 
BL1 '00000000' IFLG 
BL2 '0100100000000000 



MACR 



176+* 



BSAM-BPAM-QS AK INTERFACE 



> 
SO 



000124 00 

000125 000001 
000128 00000001 
00012C 0000 
00012E 0050 
000130 00000000 
000134 00000001 

000138 00 

000139 000001 



00013C 00000001 

000140 0000 

000142 0050 

000144 20 

000145 000001 
000148 00000000 
00014C 00000001 

000150 

000150 4510 315A 

000154 10 

000155 000030 

000158 10 

000159 000090 
00015C 90 
00015C OOOOFO 

000160 0A14 
000162 50D0 316A 

000166 98EC COOC 

00016A 07FE 
00016C 
000000 



0016C 



0017C 

CCCCC 



1 78 + 


DC 


179+ 


DC 


180 + 


DC 


18 1 + 


DC 


182 + 


DC 


183 + 


DC 


184+ 


DC 


185 + 


DC 


186 + 


DC 



188 + « 

190+ 

191 + 

192 + 

193 + 

194 + 

195 + 

196 + 

197 LAST 
198+ 

199+LAST 
200 + 

2C1 + 
202+ 

203 + 

204 + 
2C5 + 
2C6 + 
207 
208 
2C9 + 

210 + 

211 SAVEAREA 
212 



BLl '00000000' 

AL3(1) CHECK, GERR, PERR 

A(l) SYNAD 

H'O' CIND1, CIND2 

AL2(80) BLKSIZE 

F'O' HCPO, WCPL, OFFSR, OFFSW 

A(l ) I CBA 

ALKO) NCP 

AL3(1) ECBR, EOBAD 

(,'SAM INTERFACE 



DC 

DC 

DC 

DC 

DC 

DC 

DC 

CLOSE 

CNOP 

BAL 

DC 

DC 

DC 

DC 

DC 

DC 

SVC 

L 

RETURN 

LM 

BR 

DS 

END 



A(l) RFCAD 
H'O' QSV»S 
AL2(80) LRECL 
BLl '00100000' EROPT 
AL3(l) CNTRL 
F'O' PRECL 
A(l ) ECB 

(DA TA1 .REREAD, DAT A2 .REREAD, DAT A3, REREAD ) 
0,4 

1,*+16 BRANCH AROUND LIST 
AL1 (16) OPTION BYTE 
AL3(DATA1) DCB ADDRESS 
AL1 (16) CPTION BYTE 
AL3(DATA2> DCB ADDRESS 
AL1 (144) CPTION BYTE 
AL3(DATA3) DCB ADDRESS 
20 ISSLE CLCSE SVC 
13, SAVEAREA+4 
(14,12) 



14 ,12 ,12 ( 13) 
14 RETURN 
18E 
NSLTEST 



RESTORE THE REGISTERS 



RELOCATION DICTIONARY 



PAGE 



Q 



PCS. IC 


REL.ID 


FLAGS 


ADDRESS 


01 


01 


08 


CCCC1D 


01 


01 


08 


CCCC21 


01 


01 


08 


CCCC25 


01 


01 


08 


C00155 


01 


01 


08 


CC0159 


01 


01 


08 


CCC15D 



10/07/66 



I 

Cn 



Q 



CROSS-RFFERENCE 



SYP.eOL 


LEN 


VALUF 


CEFN 


REFERENCES 


DATA1 


00004 


000030 


0029 


0016 


C201 


CATA2 


00004 


000090 


0087 


CC18 


C2C3 


DATA3 


00004 


OOOOFO 


0145 


CC2C 


C205 


LAST 


00004 


000 150 


0199 


C022 




NSLTEST 


00001 


OOUOOO 


0002 


C212 




SAVEAREA 


00004 


000 16C 


0211 


C0C8 


CC10 



PAGE 



10/07/66 



0011 0207 



> 



NC STATEMENTS FLAGGED IN THIS ASSEMBLY 
205 PRINTED L INES 



Q 



00 



IEF285I 

IEF285I 

If F285I 

IbF285I 

IEF285I 

IEF285I 

IEF28bI 

IEF285I 

IEF285I 

IEF285I 

IEF285I 

IEF285I 

// /AA 

//SYSUT 

//SYSLH 

//SYSPR 

//SYSLI 

// 

//SYSIN 

IEF236I 

IEF237I 

IEF237I 

IEF237I 

IEF237I 



SYS1.MACLIB KEPT 

VCL SER NOS = 111111. 

AAAAAAAA.AAAAAAAA.AAAAAAAA.AAAAAAAA.0C000001 DELETED 
VOL SER NOS = Ullli. 

AAAAAAAA.AAAAAAAA.AAAAAAAA.AAAAAAAA. 00C0C002 DELETED 
VCL SER NOS = 111111. 

AAAAAAAA.AAAAAAAA.AAAAAAAA.AAAAAAAA.CCCCG0C3 DELETED 
VOL SER NOS = 222222. 



SYSOUT 
VOL SER 
E. AAAA 
VOL SER 



NOS = 



SYSOUT 



PASSED 



NOS= 111111- 
EXEC PGM^ IEWL,PARM = ( XREF,L I S T ,LE T ,NC AL ) 
1 CD UNIT-2311, SPACE=( TRK, (20,10) ) ,DISP= 

OD CD DSNAME=EBCL IB( ERC 3 ) , D I SP = ( OLD ,KEE P ) 
INT DC SYSl)UT = A 

N CC DSNAME=£E, CISP = (OLD, DELETE ) 
DD DDNAME=SYSIN 
DD • 
ALLOC. FOR AAAA AAA 

SYSUT I ON 191 
SYSLMOD ON 190 
SYSLIN ON 190 
ON OOC 



( , DELETE) 



-a 
Q 



F-LEVEL LINKAGE EDITOR OPTIONS SPECIFIED — XREF ,LI ST , LE T , NCAL 
IfcWOOOO NAMF EBC3(R) 

IEWOOOO EBC3 NOW REPLACED IN DATA SET 






CROSS REFERENCE TABLE 



CONTROL SECTION 

NAME ORIGIN LFNGTH 

NSLTEST OC 1B4 



ENTRY 

NAME LOCATION 



NAME LOCATION 



NAME 



LOCAT ION 



*AME 



LOCATION 



LOCATION REFERS TO SYMBOL IN CONTROL SECTION 



ENTRY ACCRESS 
TOTAL LENGTH 



00 
1B4 



Q 



IEF285I 
IEF285I 
IFF285I 
IEF285I 
IFF285I 
IFF285I 
IEF285I 
IEF285I 



AAAAAAAA.AAAAAAAA.AAAAAAAA.AAAAAAAA. CCC00006 DELETED 
VCL SER NOS= 222222. 



EfiCL IB 
VCL SER 
SYSOUT 
VOL SER 
E-AAAA 
VOL SER 



NOS= 111111. 



NOS = 



NOS= HUH 



KEPT 



SYSOUT 



DELETED 



NO 

I 

O 
O 



Q 



//GENE JOB 0,Gfc\ECLAR<,*ISGLEVEL = l 

//STEP EXEC PG*=IEHLIST 

//VOL DD UN1T = 2311,DISP=QLD,V:DL0»'E = ( .RETAIN, SER=llllll > 

//VOL2 OD UNIT=23ll,DISP=OLD,VOLUME=< .RETAIN, SER=222222) 

//SYSPRINT DU SYSPJT=A 

//SYSIN OD • 

IEF236I ALLOC. FOR GENE STEP 

IEF237I VOL UN 190 

IEF237 1 VOL 2 ON 191 

IEF237I SYSIN ON OUC 



Print 

1 . Catalogue 

2. VTOC's 

3. MACLIB Directory 

4. SVCLIB Directory 



i 
c* 



Q SYSTEMS SUPPORT UTILITIES IE1LIST PAGfc 0001 

— t- 

GENERAL INFORMAT I !.;N FOR CATALOG J Ni V3L llllil 

DS OR INDEX NAMF tNTr<Y TYPE VUL.ID. SEQ. NO. DEV.TYPE ALIAS UF 

EBCLIB DATA SET llllil 000000 30032301 

UT1 DATA SET 222222 000000 33332331 

\JJ2 OATA SET 222222 000000 33332301 

UI3 DATA SET llllil 000000 33002301 

LISTING OF ENTIRE CATALOG 

SYSl.COBLIt* llllil 000000 30002331 

SYSl.DASDUM llllil 000000 33032001 

SYSl.FURTLIB llllil 000000 30032301 

SYS1.J0BLIB 222222 000000 30002001 

SYSl.LINKLIB 222221 000000 33302331 

SYS1.MACLIB llllil 000000 33332001 

SYS1. NUCLEUS llllil 000000 30002301 

SYSI.PLILIB llllil 000000 30002001 

SYS1.PR0CLIB 222222 000000 30332331 

SYSl.SORTLIB llllil 000000 33332001 

SYSl.SVCLIB llllil 000000 30002001 

SYSl.SYSJOBQE llllil 000000 33332301 

TEST. LOAD TE STVL 000000 3333?301 

TEST. OBJECT TESTVL 000003 33332001 

^ TEST. SOURCE TESTVL 000000 30032001 

I 

o 



SYSTEMS SUPPORT UTILITIES IEHLIST PAGE OU02 

-o 

^ CONTENTS OF VT3C 3V VOL llllll 

"•" LINE 1 = OSNAME . . . . 5 . . . .10 . . . .15 . . . .23 . . . .25 . . . .3C . . . .35 . . . .40 . . . . 

ZI LINE 2 = 45 . . . .50 . . . .55 . . . .60 . . . .65 . . . .70 . . . .75 . . . .83 . . . .85 . . . .90 . . . .95 . . . . 

LINE 3 =100 . . . 105 . . . 110 . . . 115 . . . 120 . . . 125 . . . 1 33 . . . 1 35 . . . 140 DS^B ADM C:HH*) 

FORMAT 4 OSCB 0404 04u404 04 04 04 04 04 04 04 04 04 04 04 04 4 34 3 4 04 34 4 343434040404040404040404 0404 040404040404 04 

F4005F0U0 104008000C 3000000 It 000 1000000:3 000A0E 2952 37 140 1 02 19 100 AOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO 
OOOOOOOOOOOOO 1 00005F0000005F OO0dOOOOOOOOOOOOO0O0OOOOOOOO0O0O030 3 3 3O000 000003000000 005F 000001 

FORMAT 5 OSCB 0505 05 050006000004 00 IF 005 A 0003 OF 00000 1 3 7C3 33000C0330 000000GO00OOOO0OOO0OO0UOOOOO0OO0OOO0 

F50000000000 000000000000000000000000000000000000000000000000000000003000300000000000 00000000000000000000000000 
000000000000000000000000000000000000000000000000000000000000000 3 03 0300000000000000 005F 000002 

SYS1.0ASDJM 

FIFIFIF IF IF IF 1000 1630 1 6F 6301 5E 01 000000000000000000000000000303 0003000003300 3 400090000E 10005000000000: 000000000 
70 10 17^00008100000100000002 000900000000000000000000000000 00 00000 3 3000000 00 000000 005F 000003 

SYS1.L0GREC 

F1FIF I FIFIFIF 1000 1630 1 6E 63 016E 01 000000000000000000000000000000003000 0000000 34000 880000260026020000008 800000000 
10 FO 70 300000 1000000000 1000000050000000000000000000000000000 33 000003 33 033000000000 00t>F 000004 

SYS1.SYSJ0BQE 

FIF1FIF1FIF1F100011 1 II 11 II I 1 1 101 OOOOOOOOOOOOOOOOOOOOOOOOOOOOOO 00 3 00300 OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOC 0000001 00 
2 70 FFFCLO0OO8100OOC000000OC 3 0009000000000000000000000000000000 003 3000000000 3 000000 005F 000005 

SYSCTLG 

F1F1F IF IF IF IF 10001 6 301 6E63015E 01 0000000000000000000000000000 00 00 0000 00 0000000000000000000000000000 OO: 0000001 00 
OOF FOE 290000 8 10000 5D0000005E 0009000000000000 000000000000000000 00 03 0000000000000000 005F 000006 

SYS1.SVCLIB 

F1F IF IF IF IF IF 1000 16 3016E 6301 5E 01 00 000000000000000000000000000 00000 0000 00 30 00 0200 COOOOE 29000000000000: 000000000 
^ 3 80 EO 4840000 8 10000600000006C 0009000000000000000000000000000000000 00 00 000000000000 005F 000007 

vO SYSl.MACLIB 

1 F1F1F IF IHF IF 1000 14201 184201 1801 00000000000000000000000000033 300 3 3 0000033 3 03 02009000002000 5000000000: 0000002 01 

CO 2 DO 20 COCOOOO 8 100006000000098000900000000000000000000000000 3000000000 0000 OOCOOOOO 005F 000008 

SYS1.C0BLIB 

FlFlFlFlFlFlF1000l630i6t630l5E01000000000000000000000000000003003333300030000200COOOOE290E2900000000:000000200 
70 80 AE600008 1 0000990000009C 00090000000000000000000000000000 3 OOUO 0003 00 3000000000 005F 000009 

SYS1.F0RTLIB 

F1FIFIF1F IF IF 1000 16 301 6E63015E01 0000000000000000000000000000 3300 3 3 33300030000 20 3 COOOOE 29000000000000C 0000002 00 
BO A09 7COO0O 8 100009DOOOOOOA 000090000000000000000000000000000 0300 300000000000000000 OO5F0000OA 

SYS1.S0RTLIB 

FIFIFIF IF IF IF 1000 1630 16E 6301 5E 01 00000000000000000000 0000000000 00000000 000000020000000000000000000000: 0000002 00 
280 70 AF 70000 8 10000A I OOOOOOA 500090000000000000000000000000000 0000 300000 000000000000 005F00000B 

SYS1.PL1LIB 

F1F1F1FIF1F IF 10001 63016E 630 15E01000000000000000000000000000333000003300300000200COOOOE290E2900000000: OOOOOOOOO 
3 D080A850000810000A600COOOB 400090000000000000000000000000000 00 00 00 0000 030000000000 005F00000C 

SYS1. NUCLEUS 

F1F1FIFIF1F IF 10001 630 16E 6301 6E 10000000000000000000000000000 3 3 00 000 300 00 3 303 200 COOOOE 290000000000008000000000 
CO A064B0000 8 10000B 50000 OOB A 00090000000000000000000000000000 00 00 0000 00 000000000000 005FOOOOOD 



UT3 



EBCLIB 



FlFlF"iFlFlFlF1000142010h420lOEOlOOOO(J0000000000000000000000003000303000030000000000000000000000000008000000\00 
00000 E290000810000BBOOOOOOBF 000900000000000000000000000000030030030330003000000000 005F00O00E 



F1F IF IF IF IF IF 100014201 1842 01 1 80 I 0000000000000000000000000000000000 0030 00 00 00 203C00O0E 29000000000000: 000001 00 
OOOC05RF0000810000C4000000C 4 00090000000000000000000000000000 33 003300 3000 000000000 OO5F0O00OF 

GOSET.FORTGO 

F 1404040 4040 40000 1420 10242 01 02 01 OOOOOOOOOOOOOOOOOOOOOOOOOOOOOO 0000000 00000000200COOOOE 29000000000000400000 1400 
000 20C690000010000C5000000C 600060000000000000000000000000000030 3 0303 3 0000009000000 005F 000010 

THERE ARE 0090 EMPTY CYLINDERS PLUS 0017 EMPTY TRA:KS ON THIS VOLUME 

THERE ARE 0128 BLANK DSCBS IM THE VTOC ON THIS VOLUME 



^ SYSTEMS SUPPORT UTILITIES IEHLIST PAGE 0003 

-t- 

CiJNTENTS UF VTOC DN VOL 222222 
LINE 1 = USNAME . . . . 5 . . . .10 . . . ,,15 . . . .2D . . . .25 ... .30 . . . .35 . . . .40 . . . . 

LINE 2 = 45 . . . .50 . . . .55 . . . .60 . . . .65 . . . .70 . . . .75 . . . .80 . . . .85 ... .90 ... .95 . . . . 
LINE 3 =100 . . . 105 . . . 110 . . . 115 . . . 120 . . . 125 . . . 133 . . . 135 . . . 140 DSCB ADD* CIH-m 

FORMAT 4 DSCB 0404040404 04 04 040404040404 0404 04 04 04 0^34 34 3 434343404040404040404040404040404040404040404 

F4004lOOOOOC008bOOCB0000001E0001000000CBOOOAOE295237140102l9133A0300300000000000000000000000000000000000000000 
0000000000000 100004 10000004 1000800000000000000000000000000000300 300003 03 30 00000000 0041000001 

FORMAT 5 DSCB 050505050001 003D0902 93 00000 107C3000 1 300000000000000000000000000000000000000000000000000 

F50O0OOOOOO0OO00000O000OC000O00000O00OOOO0O0OO0OO00OO0O0000O0000000000 00000000000000000000000000000000 00000000 
0000000000000000000000000000000000000000000000000000000000000 3 003 3 000 0000003 000000 0041000002 

UT1 

F1F2F2F 2 F2F2F 2000 1 4201 OF 42 010E 01 000000000000000000000000000000000000 30 0000 000000000000000000000000008000000* 00 
00000 E290000 8 10000B A OOOOOOBE 0009000000000000000000000000000000 00000000 000000000000 0041000003 

SYSl.PROCL IB 

F1F2F2F2F2F 2 F 2000 16 30 1 6t 630 15E 01 0000000000000000000000000003 0000000030 03 3000 0200800000 5000 50000000002 000000000 
0140 38 FOOOO 8 100003E 0000004000090000000000000000000000000000 00 000000 00000000000000 0041000004 

SYS1.LINKLIB 

F1F2F2F2F2F2F 20001 630 16E 630 1 5E 01 00000000000000000000000003000 3 00 0000 00 03 3 000 0200COOO0E 290000000000002 800000002 
8 508004F00008 I 000042000000B 9000900000000000000000000000000000000000000 300000000000 0041000005 

UT2 

F1F2F2F2F2F2F2000 1420 iOt 420 1 OF 01 0000000000000000000000000000 33 0303 0000 000000000 00000 000000000000000080000004 00 
00000 E29OO0O8100O0BF000000C 3000900000000000000000000000000000000000000000000000000 0041000006 

•O SYS1.J0BLIB 

^ F 1404040404040000 1420 1 1842 01 1 801 00000000000000000000000000000303 0303000000000200COOOOE290000000000004000001400 

4^ 000 709 1400000 10000C4000000C 5000600000000000000000000000000000003030030003000000000 0041000007 

AAAAAAAA.AAAAAAAA.AAAAAAAA.AAAAAAAA. 00000001 

F 1404040404040000 1420 10242 01 02010000000000000000000000000000000000 0000 030000 4000C0000000000000000000400000 1400 
OOOOOE 2900000 10000C 5000700C 6000600000000000000000000000000000000 030000000000000000 0041000008 

THERE ARE 0062 EMPTY CYLINDERS PLUS 0013 EMPTY TRACKS ON THIS VOLUME 
THERE ARE 0136 BLANK DSCBS I>* THE VTOC ON THIS VOLUME 



> 



Q 



NO 

I 

O 
Oi 



DIRECTORY INFO FOR 


SPECIFIED 


PDS DM VOL I 1111 I 


YS1.MACLIB 








MEMBERS 


TTRC 


VARIABLE USER 


DATA -- 


ABEND 


00020702 


00012025 




ANALYZ 


00960302 


00012037 




ATTACH 


00030302 


00016031 




BLDL 


000B0302 


00014165 




BSP 


000C0202 


00011077 




BJ ILO 


000C0402 


00018006 




CALL 


O00E0302 


00014154 




CAMLST 


000E0502 


00014163 




CATALOG 


00110302 


00010034 




CHAP 


00110502 


00016031 




CHECK 


00110702 


00012625 




CLOSt 


00120302 


00012025 




CNTRL 


00160302 


00012025 




DCB 


00E30302 


02014074 




DCBD 


00D605O2 


02014074 




DELETE 


00180302 


00014151 




DEO 


00180502 


C0014164 




DETACH 


00180702 


00014142 




DEVTiTPE 


01080302 


00014074 




DUMP 


01090302 


010160 78 




^ EBCl 


012B0300 






^^^ ^,ERC2 


01280500 






tNO 


00190302 


00014168 




EOV 


00190502 


00012625 




EXCP 


00190702 


00014156 




EXTRACT 


00190902 


00012025 




FEOV 


001C0302 


00012625 




FIND 


001C0502 


00012031 




FREEBJF 


00100302 


00014090 




FREEDBUF 


00D60302 


00014074 




FREEMAIN 


001E0302 


00012031 




FREEPOOL 


00240302 


00012031 




GBFLM 


00990302 


00012037 




G8INF 


009B0302 


00012037 




GBPOS 


009C0302 


00012037 




GBPST 


009D0302 


00012037 




GCNL 


009D0502 


00012037 




GCNUP 


009F0302 


00012037 




GCNTRL 


009F0502 


00012037 




GDCDS 


00A60302 


00012037 




GDV 


O0A703O2 


00012037 




GECF 


00AD0302 


00012037 




GECP 


00AE0202 


00012037 




GEOS 


00AE0402 


00012037 




GEPM 


00AF0302 


00012037 




GFT 


00240502 


00012625 




GETBJF 


00250202 


00012031 




GETMAIN 


00250402 


00012031 




GET POOL 


002C0302 


00018006 




GEVM 


00B0O3O2 


00012037 




GIBLC 


00B10302 


0001203 7 




GINIT 


00B20302 


00012037 





SYSTEMS SUPPORT UTILITIES IEHLIST PAGE 0004 



(USER DATA AND TTRC ARE IN HEX) 



Q 



SYSTEMS SUP^aRT UTILITIES IEHLIST 



PAGE 0005 



I 

On 
O 



GN0P2 

GN0P4 

GO 

GODEL 

GR E A D 

GREADR 

GSBLC 

GSBPOS 

GSERV 

GSRT 

GTRU 

GTXT 

GUSTOR 

GWRITE 

IDENT IFf 

IECDSECI 

IEFUCBOR 

IHBERMAC 

IHBINNRA 

IH8INNRB 

IHBOPLST 

IHBRDURD 

IHBRDrtRfc 

IHBRDwRS 

iHBRDrfRT 

IHB01 

IHB02 

INDEX 

IOHALT 

LCTRL 

LINK 

LOAD 

LOCATE 

NOTE 

OACB 

ORT AIN 

OPEN 

POINT 

POST 

PRTOV 

PJT 

PUTX 

RDJFC8 

READ 

RELSE 

RENAME 

RETURN 

SAVE 

SCRATCH 

SEGLD 

SEGWT 

SET 

SPIE 

STAE 

STIMER 



00B40302 
00B40502 
002E0302 
00R50302 
00B60302 
OOBF0302 
0OC30302 
00C30502 
O0C403O2 
OOC50302 
OOC60302 
00C703O2 
00C90302 
00CA0302 
00310302 
01210200 
011B0300 
O0F003O2 
00320302 
00320502 
01140302 
01020302 
00350302 
OO3A03O2 
00FC0302 
008C0302 
00F70302 
003E0302 
01180302 
00040302 
003E0502 
003F0302 
00400302 
00400502 
00D30302 
00400702 
00410302 
00460302 
00470302 
00470502 
00490302 
00490502 
00490702 
004A0302 
004B0302 
004C0302 
004C0502 
004E0302 
00500302 
00510302 
00510502 
00510702 
005B0302 
005F0302 
005F0502 



0001 
0001 
0001 
0001 
0001 
0001 
0001 
0001 
0001 
0001 
0001 
0001 
0001 
0001 
0001 



2037 
2037 
3025 
2037 
2037 
2037 
2037 
2037 
2037 
2037 
2037 
20 3 7 
2037 
2037 
4152 



02014074 
00014144 
00014169 
01016083 
01014074 
00014006 
00014006 
01014074 
01011079 
01014074 
00010034 
00014074 
00014660 
00013781 
00014140 
00014147 
00013781 
00012037 
00014146 
00014029 
00014029 
00014029 
00014029 
00013781 
00010691 
00011106 
00012625 
00018040 
00014148 
00013005 
00013005 
00014141 
00012625 
00013005 
00013028 
00013005 
00014150 
00013005 



-a 
Q 



SYSTEMS SUPPORT UTILITIES IEHLIST 



PAGE 0006 



NO 
I 

o 
^1 



STOW 


00600302 


00014048 


TEST 


O07A0302 


00010032 


TIME 


00610302 


00014048 


TRACE 


00610502 


00013028 


TRUNC 


006A0302 


00010691 


TT IMER 


006A0502 


00014048 


WAIT 


006*070^ 


00014048 


WAITR 


006B0302 


00014-048 


WRIJTE 


006B0%02 


00012625 


WTL 


006C0302 


00013017 


WTO 


0O6D0302 


00013017 


WTOR 


006E0302 


00013017 


XCTL 


00710302 


00014048 


XDAP 


00 720 302 


00015004 



-o 

Q 



SYSTEMS SUPPORT UTILITIES IEHLIST 



PAGE 0007 



DIRECTORY INFO R"iK SPECIFIED PDS ON VOL 111111 
SYS1.SVCLIB 

MEMBERS 



t 



.6° 



oo 



o 
I 
o 

00 



IGC0001C 

IGCOOOIF 

IGC0001G 

IGC0001I 

IGC0002L 

IGC0002A 

IGC0002 J 

IGC0002C 

IGC0002I 

IGC0002r 

IGC0002F 

IGC0002G 

IGC0002H 

IGC0002I 

IGC0003*. 

IGC0003A 

IGC0003H 

IGC00G3L 

IGC000 3U 

IGC0003F 

IGC0003F 

IGC0003I 

IGC0004C 

IGC0004I 

IGC0005A 

IGC0005t 

IGC0005G 

IGC0006A 

IGC0006D 

IGC0006I 

IGC0101C 

IGC0103D 

IGC0105A 

IGC0201C 

IGC0205A 

IGC0301C 

IGC0305A 

IGC0401C 

IGC0501C 

IGEOOOOA 

IGEOOOOD 

IGFOOOOG 

IGtOOOOI 

IGE0001C 

IGE0010A 

IGE0010B 

IGE0025C 

IGE00250 

IGF0025E 

IGE0025F 

IGEOIOOI 

IGE0101C 



TTRC 
002F072D 
00090520 
00090920 
0021072D 
0025052D 
00100720 
00270720 
0028032D 
002D052D 
001A072D 
0011072D 
0013032D 
00H032D 
000C0920 
OO0EO32O 
001A052D 
000A162D 
002D072D 
0005022B 
0005062B 
00050A2B 
000E072D 
0031072D 
0006032B 
00200B2D 
001B052D 
002D092D 
0035 1020 
0027052D 
001B0320 
002F0B20 
00050E2B 
002E032D 
00300520 
002E072D 
0030092D 
002F032D 
00300D20 
0031032D 
00070620 
00070A2D 
0008052D 
0006072D 
00080920 
00070E2D 
0007122D 
00081120 
00081520 
00081920 
00090D2D 
00060B20 
00080D2D 



VARIABLE 
002F090000 
0009070000 
00090B00U0 
0022010000 
0025050000 
O011OIO000 
0028010000 
0028030000 
0020050000 
OOlflOlOOOO 
0012010000 
0013030000 
0011030000 
0000010000 
000E030000 
001A050000 
000B010000 
0020070000 
0005040000 
0005080000 
OO050C000O 
000E070000 
0031090000 
0006050000 
002E010000 
001B050000 
002D090000 
0036010000 
0027050000 
001B030000 
0030030000 
0006010000 
002E050000 
0030070000 
002F010000 
00300B0000 
002F 050000 
0031010000 
0031050000 
0007080000 
O0O7OCOO0O 
0008070000 
0006090000 
0008OBOO0O 
0007100000 
0007140000 
0008130000 
0008170000 
0009030000 
00090F0000 
0006000000 
0O08OF000O 



USER DATA - 

0000000370 

000000037G 

0000000370 

00OOOOC378 

000000^378 

0000O0C378 

O0O0OOC378 

0000000 3 78 

OOOOOOC3 78 

000000C378 

000000C378 

O00OOOC378 

000000C378 

0O0000C378 

000000C378 

000000C378 

O00O0OC378 

OOOOOOC378 

00000003FO 

00000003FO 

00000003FO 

OOOOOOC378 

0000000370 

0000O043F0 

0000000370 

00O0OOC378 

000000C378 

0000000370 

00OOO0C378 

000000C378 

0000000370 

00000003F0 

0000000370 

0000000370 

0000000370 

0000000370 

0000000370 

0000000370 

0000000370 

0000000370 

0000000370 

0000000370 

0000000370 

0000000370 

000000C370 

OOOOOOC370 

0000000370 

0000000370 

0000000370 

0000000260 

0000000370 

0000000370 



--(USER DA 
0003000300 
0003FE03FE 
00002E002E 
0004000400 
0004000400 
0003 3: 03 DC 
0004000400 
0004000400 
OOOOECOOFC 
0001200110 
0003B603B5 
00024:024C 
0003D803D8 
0003800380 
0003780378 
0004000400 
0003380338 
0O0O3BO0DB 
0003740374 
0003C303C3 
0000020002 
000310030A 
0000920092 
00035A035A 
00039F039F 
0004000400 
00003C003C 
0002800280 
0004000400 
0002730273 
0003:303CD 
0003740374 
O0O33F03DF 
00O3DEO3DE 
0003E803E8 
0001A801A4 
0003F003FO 
0003A103AI 
0002400240 
OOOOEEOOEE 
0001500150 
00014C014C 
00O18E018E 
0001460146 
0001900190 
0001900190 
00013C013C 
00014C014C 
0000F400F4 
0001360136 
00018A018A 
OOOOCCOOCC 



TA AND TTRC 

0000000003 
0000000000 

ooooooocoo 

0000000000 
0000000000 
0000000003 
0000000000 
0000000000 
0000000000 
0000000003 
0000000000 
0000000003 
0000000000 
OOOOOOOOOO 
0000000000 

oooooooooo 
oooooooooo 
oooooooooo 
oooooooooo 
oooooooooo 
oooooooooo 
oooooooooo 
oooooooooo 
oooooooooo 

0000000033 

oooooooooo 
oooooooooo 

0000000003 
0000000033 

oooooooooo 

0000000330 
0000000030 
0000000030 
0000000300 
0000000030 
0000000003 

oooooooooo 
oooooooooo 

0000000003 

oooooooooo 
oooooooooo 
oooooooooo 
oooooooooo 

OOU0000033 

oooooooooo 
oooooooooo 

0000300003 
0000000030 

oooooooooo 

0000000003 

oooooooooo 
oooooooooo 



ARE IN 

000001 

000301 

000030 

000001 

030002 

000030 

000001 

000000 

330033 

J00002 

000000 

300000 

030001 

000031 

000000 

000300 

000001 

000003 

0000 

0003 

0300 

000031 

000001 

00 3 

000000 

000031 

000000 

330000 

oooooo 

000031 
030000 
0000 

oooooo 
oooooo 

030001 
030000 
000001 

oooooo 

000002 
030000 

oooooo 
oooooo 

000002 

030000 

oooooo 
oooooo 

000300 
000002 

oooooo 
oooooo 
oooooo 

000030 



HEX) 
0130 67 
3171 99 
3130 11 
0140 95 
0190 49 
0190 35 
0140 95 
0180 33 
0110 51 
0160 82 
0130 15 
0140 23 
0130 19 
3150 05 
0140 23 
0190 39 
0150 36 
3113 61 



0140 90 

0130 15 

0131 87 
0130 19 
0110 61 
0190 36 
0100 34 

0130 19 

0131 80 

0131 88 

0131 81 

0130 15 

0131 82 
0130 15 
0160 0/ 
0100 44 
0133 11 
0130 11 
0120 56 
0150 82 
0133 11 
0120 37 
0120 37 
0130 11 
0163 82 
0180 26 
0170 54 
0110 35 
0100 11 



° SYSTEMS SUPPORT UTILITIES FEHLIST PAuE 0008 

IGEOllOH 00071620 0000030000 00000033/0 0000500050 0000000303 3333030120 3/ 

IGE0125F 0009122D 000A010000 0000000370 00014F014F 0000000933 0000333173 16 

IGE0200I 00070220 0007040000 0000000370 0001880188 0000000000 0000020160 82 

IGE0225F OOOA032D OOOA050000 0000000260 0000390009 0000000033 0303300173 17 

IGE0425F 000A082U OOOAOAOOOO 00000003 70 0O0O33O0CC 0000000003 0303300173 18 

IGEC525F 000A0C2D OOOAOEOOOO 0000000260 0000E300EC 0000000330 0000030173 61 

IGE0625F 000A1120 OOOA 130000 0000000260 0OOOF2O0F2 0000000000 0000000170 13 

IGG0CLC2 0012032D 0012030000 0000003378 0003E203F2 0000000333 3333330103 31 

IGG0CLC3 00120520 0012050000 0000OOC378 00040003FA 0000000030 0300010163 82 

IGG0CLC4 0013072D 0014010000 0000O0C378 00O3A303AC 0000003000 ^003000133 31 

IGG0CLC3 00140320 0014030000 0000003378 0003FA03FA 0000000000 0000310160 83 

IGG0CLF2 00110520 0011060000 0000003378 0002E802E8 0000000033 0300010153 36 

IGG019AA 00140520 0014050000 0000OO3B78 0000680068 0000000030 0300003193 35 

IGG019AB 0014072D 0014070000 0000003878 0000600060 0000000330 0000300193 35 

IGG019AC 0014092D 0014090000 0000003B78 00003800D8 0000000000 0000000190 05 

IGG019AU 00140620 0O140B000O 0000003B78 00003000C0 0000000030 3303300193 35 

IGG019AG 00140D2D 00140DOOOO 0000003878 0000900090 0000003333 3300330193 35 

IGG019AH 0015O22D 0015020000 00OOO0CB78 0000880088 0000000000 0000300193 35 

1GG019AI 00150420 0015040000 00OOOO3B78 0000800080 0000000000 0000310160 83 

IGG019AJ 00150620 0015060000 00O0O03B78 OOOOBOOOBO 0000000333 0303300193 35 

IGG019A* 0015082D 0015080000 OOOOOJCB78 0OO0D8O0D8 0000000033 0003000193 35 

^ IGG019AL 00I50A2D 00150A0000 OOOOOOCB 78 0O0OF8OOF8 0000000000 0000000190 35 

vO IGG019AM 00150C20 001503000C 0000003378 0000700070 0000000033 3333030190 35 

■ IGG019AN 00150E2D 0O150E00OO 0000003B78 OOOOOOOODO 0000000000 3D03300190 35 

vO IGG019AU 00151020 0015100000 000000CB78 0000700070 0000000333 3000000190 35 

IGG019AK 0015122D 0015120000 0C00003B78 0000600060 0000000000 0000300190 05 

IGG019AT 002A032D 002A030000 0000003878 00023002CO 0000000033 3003300190 35 

IGG019AV 0015142D 0015140000 0O00O03B78 0000480048 0000000033 0000000190 35 

IGG019BA 0015162D 0015160000 00OOO0CB78 0001400140 0000000000 0000000190 34 

IGG019B8 0015182D 0015180000 0000003B78 0000580058 0000000000 0000000190 04 

IGG019BC 00151A2D 0016010000 0*00000CB78 0000E800E8 0000000030 0000000190 04 

IGG019BD 0016032D 0016030000 00000OCB78 O0O120O12O 0000000030 3003000110 37 

IGG019BE 0016052D 0016050000 0000003878 0001780178 0000000030 0000000190 34 

IGG019BF 002A052D 002A050000 OOOOOO0B78 0001E801E8 0000000000 0000000190 04 

IGG019BG 002A072D 002A070000 0000003B78 OOOOFOOOFO 0000000033 3000000190 34 

IGG019CA 0016072D 0016070000 0000003B78 0000880088 0000000330 3000300190 34 

IGG019C8 00160920 0016090000 000000CB78 0000980098 0000000000 0000000190 34 

IGG019CC 00160B2D 0016080000 000000CB78 0000200020 0000000000 0000000190 04 

IGG019CO 00160D2D 0016000000 000000CB78 0001680168 0000000333 0333300190 34 

IGG019CF 00160F2D 00160F0000 OO0OOOC878 0000700070 0000000033 3000000190 34 

IGG019CF 00161120 0016110000 000000CB78 OOOOOOOODO 0000000003 0000000190 04 

IGG019CH 0016132D 0016130000 0000003B78 0000700070 0000000000 3003000190 34 

IGG019CI 0016152D 0016150000 00000GC378 0000800080 0000000033 3300300160 07 

IGG019CJ 00161720 0017010000 000000CB78 0000680068 0000000300 0000000190 34 

IGG019C< 00170320 0017030000 0000003378 0000300030 0000000000 3000000190 04 

IGG019CL 0017052D 0017050000 0000003B78 0000400040 0000000000 0000300190 34 

IGG019CM 002A092D OO2BO10O0O 0000003B78 0003000300 0000000000 3000000190 35 

IGG019CN 002B032D 0028030000 0OO00OC876 0002000200 0003000033 0000030190 05 

IGG019C0 002B0520 0028050000 0000003B78 0002000200 0000000000 0000000190 05 

IGG019CP 002B072D 002B070000 0000003B78 0003000300 0000000000 0000000190 35 

IGG019Cw 002B092D 002C010000 000000CB78 0003000300 0000000030 3000000193 35 

IGG019C** 0O2C032D 002C030000 0000O0CB78 0003000300 0000000000 0300000190 05 

IGG019CS 002C052D 002C050000 000000CB78 0Q00180018 0000000000 0003000190 04 

IGG019DA 0033072D 0034010000 0000003B78 0002200220 0000000000 0300010170 46 

IGG019PH 0034032D 0034030000 0000003B78 0002A802A8 0003000330 0000310173 46 



SYSTEMS SUPPORT UTILITIES IEHLIST 



PAGE 0009 



Q 



> 

o 



IGG019DC 
I GGf) 19K <\ 
IGG019KL 
IGG019KF 
IGG019KI. 
IGG0 19K I 
IGG019K< 
IGG0 19KM 
IGGO 19KU 
IGG0 19Kg 
IGG0L9KS 
IGG019KJ 
1GG019K* 
IGG019KY 
IGG019LA 
IGG019LL 
IGG019LE 
IGG019L I 
IGG019UA 
IGG019DB 
IGG0190C 
IGG0190A 
IGG0190B 
IGG0190C 
IGG0190U 
IGG0190F 
IGG0 190I 
IGG0190J 
IGG0190L 
IGG0190H 
IGGG190P 
IGG0190K 
IGG0190S 
IGG0190tf 
IGG0190* 
IGG0190X 
IGGO 19 I A 
IGG0191B 
IGG0191C 
IGG0191U 
IGGO 19 lb 
IGG019U 
IGG0191L 
IGGO 1910 
I G GO 1 9 1 I 
IGG01912 
IGG0193A 
IGG019 3C 
IGG0193E 
IGG0193V 
IGG020DI 
IGG020PI 
IGG020P^ 
IGG0200A 
IGG0200B 



00340520 
00310B2D 
0032042L) 
00320620 
00320820 
00320A20 
00320C20 
00340920 
0U320E2D 
0032102D 
0032122D 
00 32142D 
0035022D 
00350420 
0035062D 
0035082D 
0O350C2O 
00350A20 
00360720 
0036002D 
00 J6032D 
00220320 
00290320 
00220520 
00220720 
00230320 
00230520 
00230720 
00240320 
0024052D 
00240720 
00290520 
0025032D 
00200320 
002C0920 
0029072D 
00170720 
00170920 
00170B2D 
0018032D 
00180720 
00190320 
00340720 
00 190520 
00180520 
002C072D 
00321620 
00 330320 
00350E20 
0036112D 
0010052D 
000F082D 
00100320 
00250720 
00260320 



0034050000 
O031OB0000 
0032040000 
0032060000 
0032080000 
OO320A00OO 
00320C0000 
0034090000 
00320EOOOO 
0032100000 
0032120000 
0032140000 
0035020CO0 
00350400PC 
0035060000 
0035080000 
OO35OCO0OO 
(JO35OA00OO 
0036090000 
00360FOOOO 
0036050000 
0022030000 
0029030000 
0022050000 
0023010000 
0023030000 
0023050000 
0024010000 
0024030000 
0024050000 
0025010000 
0029050000 
0025030000 
0020030000 
0020010000 
0O2AO100OO 
0017070000 
0017090000 
0018010000 
0018030000 
0019010000 
0019030000 
0034070000 
0019050000 
0018050000 
002C070000 
0033010000 
0033030000 
00350E0000 
0037030000 
0010050000 
0010010000 
0010030000 
0026010000 
0026030000 



0C0000:B7d 
O0OO0OCA78 
00000OCB78 
000000:378 
OOOOOOCB 78 
OOOOOOCB 78 
0000003378 
000OOOCB78 

oooooo:b fa 

O00OOOCB78 
000O0OCB78 
0O0OOOCB78 
OOOOOOCB T6 
000000CB78 
000000CB78 
000000:B78 
000000CB76 
0000OOCB78 
000000:270 
0000000370 
0000O0C370 
000000C378 
00O0OOC378 
000000:378 
00000OC378 
000000:378 
000000:378 
000000: 3 16 
000000C378 
0000000378 
000000C378 
000000:378 
000000:378 
000000C378 
000000:378 
000000:378 
000000:378 
0OO00OC378 
000000:378 
000000:3 78 
000000:3 78 
000000:378 
000000:3 78 
000000:378 
000000:378 
000000:3 78 
000000: B 7d 
000000:3 78 

oooooo:b 78 

0COOOOC37O 
000000:378 
000000:378 
000000:378 
000000:378 
000000:378 



000098009L 
0004:80400 
0000P800FB 
0001080108 
0000A800A8 
0000880088 
OOOOAOOOAO 
0002400240 
OOOOFOOOFO 
0000780078 
0000380008 
0000780078 
00003000BO 
0O00B800B8 
OOOOBOOOBO 

oooo:booc8 

0001B801B8 
0000380008 
0004580^00 
0001080108 
0O00E8C0E8 
0004000400 
0004000400 
0004000400 
0004000400 
0004000400 
0004000400 
0004000400 
0004000400 
0004000^00 
0004000400 
0004000^00 
0004000400 
0004000400 
0004000400 
0004000400 
0004000^00 
0004000^00 
0004000400 
0004000400 
0004000400 
0004000400 
0004000400 
0004000400 
0004000^00 
0004000400 
0004000400 
0004000400 
0004000400 
0004000400 
0004000400 
0004000^00 
0004000400 
0004000400 
0004000400 



00000 
00000 
00030 
00000 
00000 
00000 
00000 
00000 
00000 
00000 
00000 
00000 
00000 
00000 
00000 
00000 
00000 
00000 
00000 
00000 
00000 
00000 
00000 
00000 
00000 
00000 
00000 
00000 
00000 
00000 
00000 
00000 
00000 
00000 
00000 
00000 
00000 
00000 
00000 
00000 
00000 
00000 
00000 
00000 
00000 
00000 
00000 
00000 
00000 
00000 
00000 
00000 
00000 
00000 
00000 



00003 
00300 
03330 
00000 
00000 
00300 
00000 
00000 
00000 
33030 
00000 
00000 
03333 
33330 
00000 
00000 
03003 
03333 
30000 
03333 
00000 
00030 
00000 
00000 
00300 
00000 
00000 
00000 
00030 
00300 
00000 
00333 
03333 
00000 
00000 
00303 
00303 
00000 
00030 
00030 
00333 
00000 
00030 
00330 
03300 
00000 
00030 
00030 
00000 
00000 
00000 
00030 
00030 
00000 
00030 



3 3 310 
3000310 
^000310 
0000310 
3300310 
3300010 
3003310 
0000310 
3033310 
3300310 
3000310 
0300010 
3000000 
3003330 
0000300 
0000300 
3300000 
3000330 
0000000 
0D03000 
3000000 
0000320 
0000010 
0000000 
0000300 
0000310 
0300020 
3000000 
0000320 
0000030 
0000010 
3300010 
0303320 
0000030 
0000000 
0303300 
0003310 
0000010 
3000000 
3303000 
3000000 
0000010 
3 300 310 
0000000 
0000000 
0000000 
0300310 
3 3 3 3 1 
3000030 
0000000 
3003310 
3000310 
0003310 
0000310 
3300320 



170 46 
140 93 
140 93 
180 31 
140 93 
140 9 3 
140 93 
140 92 
140 92 
143 52 
140 40 
140 92 
140 92 
140 92 
140 92 
140 92 

140 92 
193 38 
120 37 
120 37 
130 32 

141 10 
141 10 
180 29 
180 29 
130 30 
140 95 
180 29 
143 95 
160 68 
140 95 
140 95 
143 15 
140 95 
140 95 
ISO 29 
133 20 
130 20 
190 35 
190 05 
190 35 
130 20 
170 46 
190 05 
133 26 
190 05 
170 44 
143 9 1 
140 91 
120 3 7 
140 39 
140 89 
140 89 
140 93 
130 31 



Q 



SYSTEMS SlPPDrtT UTILITIES IEHLIST PAGE 0010 



__ IGG0200C 0026052D 0026050000 0000002378 0004000400 0000000000 P003310143 93 

IGG0P00K 0026072D 0027010000 0000002378 0004000400 0000000000 U300310121 39 

IGG0200.; 0027032D 002703000C 00000OC378 0004000400 0000000030 03001)13143 93 

IGG0201A 0019072D 001A010000 0000002378 0004000400 0000030030 0000313133 bl 

IGG0203A 0033052D 0033050COO 000000:378 0004000400 0000000000 0000010150 06 

IGG0203V 00370520 0037070000 0000002370 0004000400 0000000000 0303300123 37 

IGG0230C 0028052D 0028050000 C0OO0O2378 0004000400 0000000330 0003310140 93 

IGG0230H 00280720 0029010000 000000C378 0004000400 0000000000 0000313121 39 

IGG029DI 000D072D 000E0100OO OOOOOOC378 0003E803E8 0000000000 0000010140 89 

1GG029F6 0000052D 000D050000 0000002378 000332033C 0000000000 3300300143 23 

IGG02901 OOOD032D 000D03000O 0000002378 00033«»03B4 0000000330 3300010153 35 

IGG03001 000E052D OOOE050000 000000C378 0001A801A8 0000300000 0000300140 23 

IGG032AI 000B052D OOOB050000 0000002378 00018E018E 0000000030 3303310150 36 

IGG032A2 OOOB072D OOOB070000 0000002378 000392039C 0000000033 3003310140 15 

IGG032A* 000B092D OOOCOIOOOO 0000OOC378 000322032C 0000000000 3000313173 44 

IGG032D1 0012072D 0013010000 0000002378 000382038? 0000000000 0000010143 90 

IGG032fV 000C0520 000C05000O 0000002378 0OOOE8O0E8 0000000030 3000310140 90 

100032^0 O0OC032D OOOC030000 0000002378 00012001C0 0000000030 3300310143 90 

IGG032SI OOOC072D 000C070000 OOOOOOC378 00O3D0O3DO 0000000000 0000010140 90 

IGG03201 O00B032D OOOB030000 000000C378 0003480348 0000000000 0000310150 36 

IGG039DI 0013052D 0013050000 00OO0OC378 0003080308 0000000000 3000310140 90 

IGG039D2 000F062D OOOF-060000 00000CC378 000172017C 0000000000 0003010143 90 

> IGG03901 000F022D OOOF020000 (JOOOOOC378 000390038C 0000000300 0000310140 90 

IGG03902 000F042D 000F040000 0000002378 0003400330 0000000000 0000310140 90 

IGG0550A 001B072D 001B070000 000000C378 0004000400 0000000000 0003010143 89 

<4 IGG0550H 001B0920 001L010000 0000002378 0004000400 O0OO000030 3000313143 '6 r i 

— IGG0550C OOIC032D 001C030000 000000C378 0004000400 0000000330 0000310143 89 

IGG0550U 001C052D 001C050000 0000002378 0004000400 0000000000 0000010140 89 

1GG0550S- 001C072D OOIDOIOOOO 0000002378 0004000400 0000300300 3300310143 39 

IGG055(H 001D032D 0010030000 00O0O0C378 0004000400 0000000330 0003323133 30 

IGG0550!. 0010052D 0010050000 0000002378 0004000400 OOOOOOOOOO 0000010143 89 

IGG0550H OOID072D 001E010000 0000002378 0004000400 OOOOOOOOOO 0300310140 89 

IGG05501 001E0320 OOIF030000 0000002378 0004000400 0000000330 3300310140 39 

IGG0550J 001E052D 001E050000 0000002378 0004000400 0000003033 0003310143 94 

IGG0550*. 001E072D 001F010000 0000002378 0004000400 OOOOOOOOOO 0000010170 44 

IGG0550L 001F0320 001F030000 0000002378 0004000400 0000000033 3303310121 44 

IGG0550M 001F052D OOIF050000 0000002378 0004000400 OOOOOOOOOO 0000010140 94 

IGG0550N 001F072D 0020010000 0000002378 0004000400 0000000333 0000010170 44 

IGG0550P 00200320 0020030000 0000002378 0004000400 OOOOOOOOOO 0000310121 44 

IGG0550V 002OO52D 0020050000 0000002378 0004000400 0000000003 3303313121 44 

IGG0550X 0020072D 0021010000 00O0O0C378 0004000400 0000000030 0000310121 44 

IGG0550V 00210520 0O2L0500OO 0000002376 0004000400 OOOOOOOOOO 0000310130 67 

IGG0550/? 0021032D 0021030000 0000002378 0004000400 OOOOOOOOOO 0000310121 44 

IGG0551A 001A032D 001A030000 0000002378 0004000400 OOOOOOOOOO 0303310140 94 

NSLUhORI 00380B2B OO38OD0O0O 00000003F0 0001610161 OOOOOOOOOO 3003 



o 



ItF285I SYSl.SVCLIB KEPI 

IEF285I VOL SER NOS = 111111. 

ILF285I DDDDDDDnrODDDDODOnDDODOUDDDDDDOUODDDjnODDDDD KEPT 

^ i bF28b I VOL SER MOS = 222222. 

5. IEF285I SYSOUT SYSOUT 

_ IEF285I VOL SfcR MOS= 



I 



y //CCCC JGR 0,ERCNSL,MSGLEVEL = 1 

3. //GENEl EXEC PGM= I FU ASM , P ARM =( DECK ,REN T ) 

_ //SYSLIB CC DSMAME=SYS1.MACLIR,DI SP=OLD 

- //SYSUT1 CD UNIT = 2311,SPACE = ( 17CC, <400, 50) ) 

//SYSUT2 CD UNIT=2311, SPACE={ 17CC t 1400,50) ) 

//SYSUT3 CD UMT = 2311,SPACF = ( 17CC, (400,5C) ) 

//SYSPRINT CD SYS0UT=A 

//SYS PUNCH CD DSNAME = {.EBC,UNIT = 2 311,SPACE = (80, ( 2 00 ,5 C ) ) ,DI SP= ( NE k , PASS ) 

//SYSIN CD • 

IEE236I ALLCC. FOR DDCC GENEl 

IEF237I SYSL IB ON 190 

IEF237I SYSUT1 ON 191 

IEF237I SYSUT2 ON 191 

IEF237I SYSUT3 ON 191 

IEF237I SYSPUNCF ON 191 

IEF237I SYSIN ON OOC 



I 

00 



Assemble NSLOHDRI and Link Edit into SYS1.SVCLIB 
(Used IEFUCBOB and IECDSECT Macro's in this run.) 



Q 



EXTERNAL SYMBOL DICTIONARY 



SYMBOL TYPE ID ACDR LENGTH LD ID 



PAGE 1 

CG.05 10/07/66 



I 



NSLCHDRI SD 01 UO0O0O CC0161 



MY ROUTINfc AT OPEN TO HANDLE INPUT HDR 



PAGE 



Q 



I 



LOC C6JECT CODF 
000000 



000000 05F0 
000002 



000002 4100 00FO 

000006 4510 F008 
OOOOOA OAOA 

OOOOOC 902E 1000 



ACCR1 ADDR2 STMT 



SOURCE STATEMENT 



F24JUNE66 10/07/66 



COCFC 
CCCCA 



OCCCC 



000010 0530 
000012 



000012 
000000 
000000 
000000 
000000 



1841 



000014 4170 0000 



COCCC 



000018 4180 0024 

00001C 58A7 5000 

000020 58B8 6000 

000024 58C0 B15C 



CCC24 
COOOC 
COCCC 
C015C 



NSLOHO^I 

• • • 



• • • 

• » » 
» * » 



2 

3 

4 

5 

6 

7 

8 

9 »»• 
10 
1H- 
12+ 
13 + 
14 
15 

16 »•« 

17 «•♦ 

18 •»» 

• * » 

• • • 



19 

20 



2 1 »»» 

• • • 
» »• 



• • • 

• • • 

• • • 

• • • 



22 

23 

24 

25 

26 •«* 

27 

28 

29 

30 

31 

32 

33 

34 

35 

36 

37 

38 

39 

40 

41 

42 

43 

44 

45 *** 

46 **« 

47 »»• 

48 »»» 

49 •»• 

50 •»* 
5 1 »«* 
52 

5 3 DLOGIC 

54 

55 

56 »*» 

57 • 



• • • 

• • • 

• • • 



• • • 

• • • 



START 



NOTE THAT THE GETMAIN MACRO REQUIRES BASE REGISTER 
ADDRESSIBILI TY FOR ITS GENERATION - 

PROVIOE ADDRESSABILITY 



BALR 


15,0 


US I NG 


•,15 


GETMAIN R,LV=240 


LA 


0,240(0,0) LOAD LENGTH 


BAL 


i,«+4 INDICATE GETMAIN 


SVC 


10 I SSLE GETMAIN SVC 


STM 


2,14,0(1) 


DROP 


15 



STORE REGISTERS 



REGISTERS 2 TG 14 ARE SAVED IN AN AREA OF CORE ACQUIRED 
BY WAY CF A GETMAIN MACRO - BASE REGISTER 1 HAS THE 

ADDRESS CF THE AREA ACQUIRED 

•DYNAMIC IS THE NAME WE'VE GIVEN TO THE GETMAIN AREA 
WE'VE DESCRIBED IN THE DSECT IN THIS PROGRAM 



BALR 3,0 
USING »,3 



REGISTER 1 MUST BE DROPPED AS THE BASE REGISTER OF THE 
DYNAMIC AREA BECAUSE WE ARE ABOUT TO 'EXCP' AND IT USES 
REGISTER 1 



LR 

USING 
USING 
USI NG 

USING 



LA 



4,1 

DYNAMIC 
IHADCB, 
SYMWACB 
SYMUCB, 
INITI ALIZ 
TO PASS C 
LI ST OF A 
IN THE PR 
EACH DCB 
THE BEGIN 

7,0 
INITI ALI Z 
OVER 8 BY 
BYTES CON 
OF THE 'W 
CONTROL B 
CLOSE MAC 
CONTAINS 
IN REG 6 



RELEASE 
,4 
10 

A, 11 
12 
E REGISTER 



1 FOR MACRO USE 



GR10=ADDR OF DCB 
GR11=ADDR OF WACBA 
GR12=ACDR OF UCB 
7 TO ZERO - THIS REGISTER 
VER 4 BYTE ADDRESSES - THESE ADDRESS 
DDRESSES (WHICH ARE POINTERS TO ALL 
CBLEM PROGRAM AREA) - THERE IS ONE A 
ENTRY IN THE OPEN OR CLOSE - WE GET 
MNG OF THIS LIST IN REG 5 DURING OP 

XR7 FOR DCB'S 
E REGISTER 8 TO 36 - THIS REG IS USE 
TES AT A TIME - AFTER THE 1ST 32 BYT 
TAINS (IN THE LOW ORDER BYTES) THE A 
CRK AND CONTROL BLOCK AREA' - ONE »w 
LCCK AREA' IS BUILT FOR EACH DCb IN 
RC - WE GET THE STARTING ADDR OF THE 
THE ADDR FOR EACH 'WORK AND CONTROL 
DURING OPEN 



IS USED 
ES ARE IN A 
THE DCB'S 
ODRESS FOR 

THE ADDR OF 
EN 

D TO PASS 
ES EACH 8 
DDRFSS 
URK AND 
THE OPEN OR 
TABLE THAT 
BLOCK AREA' 



LA 
L 

L 
L 



8,36 

10,0(7,5) 
11 ,0(8,6) 

12,DXDFBUCB 



XR8 FOR WACBA'S 
ADDR OF DCB IN GRIO 
ADDR OF WACBA- IN GR i 1 
ACDR OF UCB IN GR 12 



IS THIS AN 'OUTPUT' DCB 



YES IGNORES THIS DCB 



MY ROUTINE AT OPEN TO HANDLE INPUT HDR 



PAGE 



Q 



I 



LOC OBJECT CODE 



000028 9180 A030 
00002C 47 10 303E 



000030 9 110 A030 
000034 4710 303E 



000038 9180 C012 

00003C 4780 303E 

000040 9180 C023 

000044 4780 303E 



000048 9504 B0A6 
00004C 4780 3080 



ACDR1 ADDR2 STMT SOURCE STATEMENT 



F24JUNE66 10/07/66 



0003C 



C0030 



C0012 



00023 



CC05C 



CCC5C 



C0C5C 



CC050 



000A6 



00C92 



000050 C211 B188 3130 00188 C0142 
000056 D202 B196 COOD 00196 CCCCD 
00005C D205 B19A BODA C019A COODA 



000062 12AA 
000064 4740 3112 



000068 4170 7004 
00006C 4180 8008 
000070 47F0 300A 
000074 C9C7C7F0F1F9F0C2 

00007C 

00007C 00 15 

00007E 0000 

000080 C8C40940D6D540E7 

000091 



C0124 



CCC04 
C0CC8 
0001C 



58 * 

59 ••• 

60 
61 

62 •** 

63 • 

64 • 

65 *»« 
66 

67 

68 ••• 

69 » 

70 » 

71 ••» 
72 

73 

74 »*» 

75 

76 

77 •»• 

78 • 

79 • 

80 * 

81 »*• 
82 

83 

84 ••* 

85 *** SET 

86 *»* 

87 MOUNT 
88 

89 

90 *»• 

9 l «••••• 

92 **« 

93 ALOGIC 
94 

95 *** 

96 » 

97 • 

98 • 

99 ••• 
ICC 

101 

102 

IC3 MODNAME 

104 WTO 

IC5+WT0 

106+ 

1C7+ 

108+ 

109+IHB0002 

110 »*» 

111 ♦ 

112 * 

113 * 



TM 
BO 



TM 

BO 



TM 
BZ 



TM 
BZ 



CLI 

BE 



AND CHECKS THE NEXT DCS 

DCBCFLGSjX'eO' BIT 
MOUNT 

IS THIS DCB ALREADY OPENED 

AND CHECKS THE NEXT OCB 



IF INPUT 

YES IGNORES THIS DCB 



DCB0FLGS,X»10« 
MOUNT 



BIT 3 



IS THIS DCB FOR OTHER THAN TAPE 
AND CHECKS THE NEXT DCB. 



1 IF OPEN 



YES IGNORES THIS DCB 



UCBTYP+2,X , 80« 
MOUNT 

SRTEDMCT,X«80» 
MOUNT 



I S NSL BIT IN JFCB ON 
AND CHECKS THE NEXT OCB 



TEST UCB3 TAPE FOR 1 



IS MOUNT MSG BIT ON 



YES GOES TO RD LABEL 
NO IGNORES THIS DCB 



JFCBLTYP, X»04« 
BLOGIC 



CHECK NSL BIT IN JFCB 
GOES TO ' MY • ROUTINE 



UP THE MOUNT MSG TO BE USED IN IGG0190B - SEE WTO MACRO 



MVC 
MVC 
MVC 



LTR 

BM 



LA 
LA 

B 

DC 

WTO 

DS 

DC 

DC 

DC 

EQU 



DXCCW4U8) ,MSSG MOVE IN SKELETON MSG 

DXCCW5+6I3) .UCBNAME MOVE UNIT NAME TO MSG 

DXCCW6+2I6) .JFCBVOLS MOVE VOL SER NO FROM JFCB 

TEST TO SEE IF THERE ARE MORE DCB«S OR IF WE'RE FINISHED 

10,10 FIRST BYTE IN CURRENT DCB 

ELOGIC 

INCREMENT GEN PURPOSE REG 7 AND 8 BY 4 AND 8 TO GET TO 

NEXT 'DCB' IN THE LIST OF DCB«S AND THE 

NEXT «WORK AND CONTROL BLOCK AREA' RESPECTIVELY 



jJfC tSS#< 

3&r a/S. 



y _T^ 

/ 2. * '"=£ 



INCREMENT XR7 BY 4 
INCREMENT XR8 BY 8 
GO TO CHECK NEXT DCB 



7,4(0,7) 

8,8(0,8) 

DLOGIC 

CLaUGGOigOB* 

•HDR ON XXX CHECKS 1 , MF=L 

OF 

AL2 (IHB0002-») MESSAGE LENGTH 

AL2(0) 

C'HDR CN XXX CHECKS' MESSAGE 



MY ROUTINE 

WE SET THE HIGH ORDER BIT IN 'STREDMCT* IN THE DCB TO ZERO 



MY ROUTINE AT OPEN TO HANDLE INPUT HDR 



PAGE 



"T3 
Q 



LOC OBJECT CODE 



ADDR 1 ADOR2 STMT 



SOURCE STATEMENT 



F24JUNE66 10/07/66 



> 



000091 00 

000092 947F C023 



CC023 



000096 50B0 B170 0017C 

00009A 9202 B170 00170 

00009E 9220 8174 00174 

0000A2 C201 B176 3146 0C176 00158 

0000A8 C703 B114 H114 00114 C0114 

C0118 



00114 
C0C01 



OOOOAE 


4110 


B118 


0000B2 


OAOO 




0000B4 


4110 


B114 


0000B8 


4100 


0001 


OOOOBC 


0A01 




OOOOBE 


957F 


B114 


0000C2 


4780 


30C4 



00114 

C0CD6 



0000C6 0700 

0000C8 47F0 30BE OOODC 

OOOOCC 80 

OOOOCC 000100 

OOOODO 5810 30BA CCOCC 

O0OOD4 OAOD 

0000D6 D504 BOOO 314A 00000 C015C 

OOOODC 4770 310A C011C 

OOOOEO C509 B014 B064 CC014 C0064 

0000E6 4770 310A 0011C 

OOOOEA 0214 4034 306A C0034 CC07C 

OOOOFO D202 403F COOD 0003F CCOOD 

0000F6 4110 4034 CCC34 

OOOOFA 0A23 

OOOOFC C201 B176 3148 00176 CC15A 

000102 C703 B114 B114 00114 CC114 



000108 4110 B118 
00010C OAOO 

00010E 4110 B114 
000112 4100 0001 
000116 OAOl 
000118 47F0 3050 



OOOUC 9680 C023 
00011C 



cone 



00114 
C0C01 

CC062 



00023 



114 ♦ 

115 • 

116 • 

117 ••• 

118 BLOGIC 

119 •♦♦ 

120 • 

121 » 

122 ••• 
123 
124 

125 

126 

127 

128 

12 9+ 

130 + 

131 

132+ 

133+ 

134 + 

135 

136 

137 

138 + 

139+ 

140+ 

141+ 

142 + 

143+ 

144 CHECK 

145 

146 

147 

148 

149 

150 

151 

152 + 

153 

154 

155 

156+ 

15 7+ 

158 

159 + 

160+ 

161 + 

162 

163 » 

164 «»» 

165 **• 

166 *«» 

167 ERR0R2 

168 ERR0R1 



IF WE DETERMINE VIA • DS NAME' AND • IHDR • THAT WE'VE WR0N3 
TAPE MOUNTED WE WILL PUT A ONE IN THIS BIT WHICH INDICATES 
TO THE CCNTRCL PROGRAM THAT A MOUNT MSG IS IN ORDER 



NI 



SRTEDMCT,X'7F' 



TURN BIT TO 



BUILD THE CCW 

NOTE THAT THIS IS NOT A GENERALIZED ROUTINE TO BUILD CCWS 

ST ll.DXCCWl READ ACCR TO CCW 

MVI DXCCW1,X'02» READ 

MVI DXCCW1+4, X f 20' FLAGS 

MVC DXCCWi+612) ,=H'80« COUNT 

XC DXECB.DXECB RESET ECB 

EXCP DXIOB 

LA I, DXIOB LCAD PARAMETER REG 1 

SVC ISSUE SVC FOR EXCP 

WAIT ECB=DXECB WAIT FOR COMPLETION 

LA l.DXECB LCAD PARAMETER REG 1 

LA 0,1(0,0) CCUNT OMITTED, 1 USED 

SVC I LINK TC WAIT ROUTINE 

CLI DXECB,X»7F» ERROR CHECK 

BE CHECK READ OK 

ABEND 256, DUMP ERROR ON READ 

CNOP 0,4 

B ^+8 BRANCH AROUND CONSTANT 

DC ALL (128) DUMP/STEP CODE 

DC AL3(256) COMPLETION CODE 

L l,»-4 LCAD CODES INTO REG I 

SVC 13 LINK TC ABEND ROUTINE 

CLC DXLBL(5> ,=CL5'1H0R • 

BNE ERRCRl 

CLC DXLBL+20110) ,JFCBDSNM COMPARE TO DSNAME 

BNE ERR0R2 

MVC MSG, WTO 

MVC MSG+1K3) ,UCBNAME 

LA I, MSG 

WTO MF=(E,(1») 

SVC 35 ISSUE SVC 

MVC DXCCWl + 6(2) , = H' 1' 

XC DXECB,DXECB 

EXCP DXIOB 

LA I, DXIOB LCAD PARAMETER REG 1 

SVC ISSUE SVC FOR EXCP 

WAIT ECB=DXECB WAIT FOR COMPLETION 

LA 1,DXECB LCAD PARAMETER REG 1 

LA 0,1(0,0) CCUNT OMITTED, 1 USED 

SVC 1 LINK TC WAIT ROUTINE 

B ALOGIC READ OK 



SET THE 'MOUNTING MESSAGE' BIT ON 

01 SRTEDMCT, X»80' TURN BIT TO ONE 

EQU ERR0R2 



EXECUTABLE INSTRUCTIONS 

COUNT 

RESET ECB 

TO POSITION TAPE PAST TAPE MARK 



MY ROUTINE AT OPEN TO HANDLE INPUT HDR 



PAGE 



-a 

Q 



I 

00 



LOC CBJECT CODE 
000120 47F0 303E 



000124 41F0 B1C8 

000128 41B0 3062 
00012C 1814 

00012E 98CE 4028 

000132 982A 4000 

000136 4100 OOFO 
00013A OAOA 

00013C 50B0 FOOO 
000140 0A07 



000142 00180000 

000146 C9C5C3F1F0HC14C 

000000 
000000 
000034 



ACDR1 ACDR2 STMT 
CCC5C 



SOURCE STATEMENT 



F24JUNE66 10/07/66 



C01C8 
CCC74 

00028 
CCCCC 

COOFC 



CCCCC 



169 

170 • 

171 »*• 

172 *»• 

173 *«• 

174 ELOGIC 
175 

176 

177 

178 

179 

180+ 

181 + 

182 

183+ 

184* 

185 »•» 

186 •»» CON 

187 •»♦ 

188 MSSG 
189 

190 *** 

191 DYNAMIC 

192 REGSTOR 

193 MSG 

194 »«• 

195 *•• 

196 »*« 
197 



MOUNT 



RETURN 

15,DXCCW12 PTR TO SUPV PARAM LIST 

ll.MCDKAME PTR TO XCTL MODNAME 

1,4 AREA TO BE FREED 

12,14,REGST0R+40 RESTORE REGISTERS 

2,10,REGSTCR RESTORE REGISTERS 



LA 
LA 
LR 
LM 
LM 
FREEMAIN R , LV=240 , A= ( 1 ) 



USES REGISTERS AND I 



LA 0,240(0,0) LOAD LENGTH 

SVC 10 ISSUE FREEMAIN SVC 

XCTL EPLOC=(ll) ,SF=(E,(15) ) USES REGISTERS SPECIFIED 

ST 11,0(0,15) STORE IN SUP.PARAML 1ST 

SVC 7 ISSUE XCTL SVC 

STANTS MSG TC BE MOVED TO CXCCW4 AND THEN USED BY IGG0190B 

DC X'00180000* 

DC CMEC101A M YYY,« 

DSECT 

DS 13F 

DS CL21 



DCBD DSORG=PS,DEVD=TA 



199+< 

2C0+< 



DCB SYMBOLIC DEFINITION FOR 
PHYSICAL SEQUENTIAL 



000000 



202+IHADCB 
204+* 



DSECT 



DEVICE INTERFACES 



2C7+« 



MAGNETIC TAPE 



000004 
000004 
000008 
000008 
OOOOOC 
000010 
000011 
000012 



000010 
000010 
0000 11 
0000 11 
000014 



209+ 


ORG 


IHADCB+4 


210+DCBNERRS 


DS 


F 


211+DCBNOI SE 


DS 


OBLl 


212+DCBLERRS 


DS 


F 


213+DCBBLKCT 


DS 


F 


214+DCBTRTCH 


DS 


BL1 


215+ 


DS 


BL1 


216+DCBDEN 


DS 


BL1 


217+* 






219+ 


ORG 


IHADCB+16 


220+DCBKEYLE 


DS 


BL1 


221+DCBDEVT 


DS 


OBLl 


222+DCBREL 


DS 


AL3 


223+DCBBUFNO 


DS 


OBLl 



ACCESS METHOD COMMON INTERFACE 



MY ROUT INfc AT OPEN TO HANDLE INPUT HDR 



PAGE 



Q 



LOC CBJECT COCt 



ACCR1 ADDR2 STMT 



SOURCE STATEMENT 



F24JUNE66 10/07/66 



000014 
000018 
00001A 
00001C 



224+DCBBUFCB DS A 

225+DCBBUFL OS H 

226+DCBDSORG DS BL2 

227+DCB10BAD DS A 



000020 
000020 
000020 
000024 
000024 



229+» 

231+DCBBFTEK DS 0BL1 

232+DCBBFALN DS OBLl 

233+DCBEODAD DS A 

234+DCBRECFM DS OBLl 

235+DCBEXLST DS A 



FCUNDATION EXTENSION 



238+» 



FCUNDATION BEFORE OPEN 



> 



000028 
000028 
000030 
000031 
000032 



000028 
000028 
00002A 
00002C 
00002C 
000030 
000030 
000030 
000030 



240+ ORG 

241+DCBDDNAM DS 
242+DCBOFLGS DS 
243+DCBIFLG DS 
244+DCBMACR DS 

246+» 

248+ ORG 

249+DCBTI0T DS 
250+DCBMACRF DS 
251+DCBIFLGS DS 
252+DCBDEBAD DS 
253+DCBREAD DS 
254+DCBWRITE DS 
255+OCBGET DS 
256+DCBPUT DS 



IHADCB+40 

CL8 

BL1 

BL1 

8L2 



FCUNDATION AFTER OPEN 



IHADCB+40 

BL2 

BL2 

OBLl 

A 

OA 

OA 

OA 

OA 



258+» 



CSAM-BSAM-BPAM COMMON INTERFACE 



000034 
000034 
000034 
000034 
000034 
000038 
000038 
000038 
00003C 
00003C 
00003D 
00003E 
000040 
000040 
000041 
000042 
000043 
000044 



260+ 


ORG 


IHADCB+52 


261+DCBOPTCD 


DS 


OBLl 


262+DCBGERR 


DS 


OA 


263+DCBPERR 


DS 


OA 


264+DCBCHECK 


DS 


A 


265+ 


ORG 


IHADCB+56 


266+DCBIOBL 


DS 


OBLl 


267+DCBSYNAD 


DS 


A 


268+ 


ORG 


IHADCB+60 


269+DCBCINDl 


DS 


BL1 


27C+DCBCIND2 


DS 


BLl 


271+DCBBLKSI 


DS 


H 


272+ 


ORG 


IHADCB+64 


273+DCBWCPO 


DS 


BLl 


274+DCBWCPL 


DS 


BLl 


275+DCBOFFSR 


DS 


BLl 


276+DCBOFFSfc 


DS 


BLl 


277+DCBIOBA 


DS 


A 



279+» 



BSAM-BPAM INTERFACE 



MY ROUTINE AT OPEN TO HANDLE INPUT HDR 



PAGE 



Q 



LOC OBJECT CODE; 

000048 
000048 
00004C 
000050 
000052 
000054 
000054 
000054 
000054 



ADnRl ADDR2 STMT 



SOURCE STATEMENT 



F24JUNE66 10/07/66 



28H-DCBNCP DS 
282+DCBEOBR DS 
283+DCBEOBW DS 
284+DCBDIRCT DS 
285+DCBLRECL DS 
286+ ORG 

287+DCBCNTRL DS 
288+DCBNOTE DS 
289+DCBPOINT DS 

291+* 



0BL1 

A 

A 

H 

H 

IHADCB+84 

OA 

OA 

A 



CSAM INTERFACE 



I 

00 

o 



000048 
000048 
000048 
00004C 
00004C 
000050 
000054 
000054 
00005A 
00005A 
00005C 



000000 



293+ 


ORG 


IHADCB+72 


294+DCBLCCW 


DS 


OA 


295+DCBEOBAD 


DS 


A 


296+DCBCCCW 


DS 


OA 


297+DCBRECAD 


DS 


A 


298+DCBQSfcS 


DS 


AL2 


299+ 


ORG 


IHADCB+84 


300+DCBEROPT 


DS 


0BL1 


301+ 


ORG 


IHADCB+90 


302+DCBPRECL 


DS 


AL2 


303+DCBEOB 


DS 


A 


305 »•* 






306 *»♦ 






307 •»• 






308 SYMWACBA 


DSECT 




309 


IECDSECT 


311+* 




THI 


312+* 






3 13+* 






315+* 




THI 


316+* 






318+* 






319+* 






320+* 






321+* 






322+* 






323** 






324+» 






325+* 






326+* 






327+* 






328+» 






329+* 






330+* 






331+* 






332+* 






333+* 






334+* 






335+* 






336+* 







THIS MACRO IS USED TO DEFINE THE WORK AREA 
FOR ALL MODULES OF OPEN, CLOSE, TCLOSE 
AND END OF VOLUME FOR 0/S 360 

THIS MACRO DEFINES A WORK AREA WITH THE 
FOLLOWING FORMAT 

I. LABELS AND CSCB 
LABELS 

VOLUME LABEL 
FILE LABEL 1 
FILE LABEL 2 

osce 

FORMAT i 
FORMAT 3 KEV 
FORMAT 3 DATA 
CORE ADDRESS OF NEXT DSCB 
MESSAGE AREA 



2. JFCB 
3.ECB 
4.I0B 
5. DEB 



100 BYTES 

176 BYTES 

4 BYTES 

40 BYTES 



MY ROUTINE AT OPEN TO HANDLE INPUT HDR 



PAGE 



Q 



LOC CejECT CODE 



ACCR1 ADDR2 STMT 



337+* 
338+* 
339+* 

340*-* 
341** 

343+* 



SOURCE STATEMENT 



6.DCP 
7.CCW S 



F24JUNE66 10/07/66 
44 BYTES 

4 BYTES 

96 BYTES 

TOTAL *** 464 BYTES 



345+* »»* 

3464-* *** 

3474-* *** 

348+* *** 



I 

00 



000000 
000000 
000003 
000004 
00000A 
00000 B 

ooooo e 

000010 
000015 
00001F 
000029 
000033 



350+* 

352+DXLBL DS 

353+VOLLABI DS 

354+V0LN0 DS 

355+VOLSERNO DS 

356+VOLSEC DS 

357+ DS 

358+VOLVTOC DS 

359+ DS 

360+ DS 

361+ DS 

362+VOLOWNER DS 

363+ DS 



VCLUME LABEL 

0CL80 

CL3 LABEL IDENTIFIER 

CL1 VCLUME LABEL NUMBER 

CL6 

CL1 

OCLiO RESERVEO 

CL5 

CL5 

CLIO RESERVED 

CLIO RESERVED 

CLIO CWNER NAME AND ADDRESS CODE 

CL29 RESERVED 



000000 
000000 
000003 
000004 
000015 

ooooie 

00001F 

000023 

000027 

000029 

00002F 

000035 FO 

000036 

00003C 

000049 

000049 

00004A 



365+* 

36 7+ ORG 

368+FLILABI DS 

369+FL1N0 DS 

37C+FLUD DS 

3 7UFL1FILSR DS 

372+FL1V0LSQ DS 

373+FL1FILSQ DS 

374+FL1GN0 DS 

375+FL1VNG DS 

376+FL1CREDT DS 

377+FL1EXPDT DS 

378+FL1FSEC DC 

379+FL1BLKCT DS 

38C+FL1SYSCD DS 

381 + FL1RES DS 

382+ DS 

383+FL1RESI DS 



FILE LABEL 1 

DXLBL 

CL3 LABEL IDENTIFIER 

CLl FILE LABEL NUMBER 

CL17 FILE IDENTIFIER 

CL6 FILE SERIAL NUMBER 

CL4 VCLUME SEQUENCE NUMBER 

CL4 FILE SEQUENCE NUMBER 

CL4 GENERATION NUMBER 

CL2 VERSION NUMBER OF GENERATION 

CL6 CREATICN DATE 

CL6 EXPIRATION DATE 

CO 1 FILE SECURITY INDICATOR 

CL6 BLCCK CCUNT 

CL13 SYSTEM CCDE 

0CL7 RESERVED FOR FUTURE USE 

CLl 

CL6 



000004 
000004 
000005 
OOOOOA 
OOOOOF 



385+* 

387+ ORG 

388+FL2RECFM DS 

389+FL2BLKL DS 

39C+FL2LRECL DS 

391+FL2DEN DS 



FILE LABEL 2 

FL1ID 

CLl RECORD FORMAT 

CL5 BLCCK LENGTH 

CL5 BLOCKING FACTOR/RECORD LENGTH 

CLl DENSITY 



MY ROUTINE AT OPFN TO HANDLE INPUT HDR 



PAGE 



Q 



LOC OBJECT CODE 



ACCR 1 ADDR2 STMT 



SOURCE STATEMENT 



F24JUNE66 10/07/66 



000010 
000011 
000011 
000019 
00001A 
000022 
000024 
000025 



61 



392+FL2FILP DS CL1 FILE PCSITION 

393+FL2JSID DS 0CL17 JCB/STFP IDENTIFICATION 

394+FL2J0BD DS CL8 JCB IDENTIFICATION 

395+FL2JSSP DC C«/' SLASH 

396+FL2STEPD DS CL8 STEP IDENTIFICATION 

397+FL2TRTCH DS CL2 TAPE RECORDING TECHNIQUE 

398 + FL2CNTRL DS CL1 CARRAIGE CONTROL CHARACTER 

399+FL2RES DS CL43 RESERVED FOR FUTURE USE 



4Cl + < 



DATA SET CONTROL BLOCK 



I 

00 

to 



000000 
000000 
000000 
000001 
000007 
000009 

oooooc 

00000F 
000010 
000011 
000012 
00001F 
000026 
000028 
000029 
00002A 
00002C 
00002E 
00002F 
000031 
000032 
000036 
00003B 
00003D 
00003E 
00003F 
000043 
000047 
000051 
00005B 
000060 
000064 



Fl 



403 + 

4C4+D 

4C5+D 

4C6+D 

407 + D 

408+D 

409+0 

410+D 

411+D 

412 + 

413+D 

414+ 

415+D 

416+0 

417+D 

418+D 

419+0 

420+D 

421+D 

422+D 

423+D 

424+0 

425+D 

426+D 

427+D 

428+D 

429+0 

430+D 

431+D 

432+D 

433+D 

434+0 



XDSCB 

SCFMTID 

SCFILSR 

SCVOLSR 

SCCREDT 

SCEXPDT 

SCNOEXT 

SCBLDBL 

SCSYSCD 

SCFILTY 

SCRECFM 

SCOPTCD 

SCBLKL 

SCLRECL 

SCKEYL 

SCRKP 

SCDSIND 

SCSCALO 

SCLSTAR 

SCTRBAL 

SCEXTYP 

SCEXTSQ 

SCLOfcLM 

SCLPPLM 

SCEXT1 

SCEXT2 

SCNEXT 

SCCORE 

SCBEND 



ORG 

DS 

DC 

DS 

DS 

DS 

DS 

DS 

DS 

DS 

OS 

DS 

DS 

DS 

DS 

DS 

DS 

DS 

OS 

DS 

DS 

DS 

DS 

DS 

DS 

DS 

OS 

DS 

DS 

DS 

DS 

EQU 



DXL 
OCL 
C'l 
CL6 
CL2 
CL3 
CL3 
CL1 
CL1 
CL1 
CL1 
CL7 
CL2 
CLl 
CL1 
CL2 
CL2 
CLl 
CL2 
CLl 
CL4 
CL5 
CL2 
CLl 
CLl 
CL4 
CL4 
CLl 
CLl 
CL5 
CL4 



BL 

96 
• 

FILE SERIAL NUMBER 

CREATICN DATE IN DISCONTINOUS BIN 
EXPIRATION DATE IN DISCONTINOUS BIN 



3 SYSTEM CODE 

FILE TYPE 
RECCRD FORMAT 
OPTION CODE 
BLOCK LENGTH 
RECCRD LENGTH 
KEY LENGTH 
KEY LOCATION 



EXTENT TYPE INDICATOR 
EXTENT SEQUENCE NUMBER 






POINTER TO NEXT RECORC 

CORE ADDRESS OF NEXT DSCB RECORD 



436+* 



DATA SET CONTROL -FORMAT 3- KEY PORTION 



000000 
000000 
000000 
000004 
000004 
000005 
000006 
OOOOOA 
OOOOOE 
000018 



03030303 



438 + 


ORG 


DXDSCB 


439+DXDSCB3K 


DS 


0CL40 


440+DSCBF3C 


DC 


X«03030303« 


441+DSCBEXSK 


DS 


0CL40 


442+DSCBEXTY 


DS 


CLl EXTENT TYPE INDICATOR 


443+DSCBEXSQ 


DS 


CLl EXTENT SEQUENCE NUMBER 


444+DSCBLLMT 


DS 


CL4 CCHH LCWER LIMIT 


445+DSCBULMT 


DS 


CL4 CCHH UPPER LIMIT 


446+DSCBEX2 


DS 


CLIO ADDITIONAL EXTENT 


447+DSCBEX3 


DS 


CLIO ADDITIONAL EXTENT 



MY ROUT INF AT OPEN TO HANDLE INPUT HDR 



jJlWft 



Q 



LGC C6JECT CODE 
000022 



000000 
000000 F3 
00000 i 
000001 

ooooo e 

000015 
0000 IF 
000029 
000033 
00003D 
000047 
000051 
00005B 



ACCRl AD0R2 STMT 



SOURCE STATEMENT 



F24JUNE66 10/07/66 



448+DSCBEX4 


OS 


450+» 




452 + 


ORG 


453+DXCBFMID 


DC 


454+DSCBEXSD 


DS 


455+DSCBEX5 


DS 


456 + DSCBEX6 


DS 


457+DSCBEX7 


DS 


458+DSCBEX8 


DS 


459+DSCBEX9 


DS 


460+DSCBEXA 


DS 


461+DSCBEXB 


DS 


462+DSCBEXC 


DS 


463+DSCBEXD 


DS 


464+DSCBNEXT 


DS 



CLIO ADDITIONAL EXTENT 



4fc6 + » 



DATA SET CONTROL BLOCK -FORMAT 3- RECORD PORTION 

DXDSCB 

C'3' FORMAT ID 

0CL90 ADDITIONAL EXTENTS 

CLIO ADDITIONAL EXTENT 

CLIO ADDITIONAL EXTENT 

CLIO ADDITIONAL EXTENT 

CLIO ADDITIONAL EXTENT 

CLIO ADDITIONAL EXTENT 

CLIO ADDITIONAL EXTENT 

CLIO ADDITIONAL EXTENT 

CLIO ADDITIONAL EXTENT 

CLIO ADDITIONAL EXTENT 

CL5 CCHHR CF NEXT FORMAT 3 DSCB 

MESSAGE AREA 



O 
I 

00 
CO 



000000 
000000 
00000 1 
000004 
000008 
OOOOOC 
000048 

OOOOOC 



000003 
000006 
000003 
000006 



OOOOOC C9C5C3 

OOOOOF 

OOOOOF 

OOOOOF 

OOOOOF 

OOOOOF F0F0F0C140U4 

OOOOOF 

OOOOOF 

000010 40 

0000 11 FOFOFO 

000014 68 

000015 FOFOFOFOFOFO 
OOOOIB 6B 

00001C 



000064 
000064 



468+ 

469+R 

470+R 

471+R 

472+M 

473+M 

474+R 

475+» 

476+ 

477+» 

478+» 

479+M 

480+M 

481+M 

482+M 

483+* 

484+» 

485+» 

486+M 

487+M 

488+ 

489+M 

490+ 

491+M 

492+ 

493 + M 

494 + 
495+M 
496+ 
497+M 
498+ 
499+M 



EPLYLTH 
EPLYADR 
EPLYECB 
SGLSTSZ 
ESSAGEA 
EPLY 



SERL 

INSTL 

LNL 

VOLL 
MTXTL 
MSGLTH 

SGIOSUP 
SGSER 

SGSERLO 

SGINSTR 

SGACTN 

SGUN 

SGVOLSR 

SGTEXT 



ORG 

DS 

DS 

DS 

DS 

DS 

DS 



DXDSCB 

CLl 

CL3 

CL4 

CL4 

CL60 

CLIO 



501+» 

502+ 
503+DXJBF 



ORG MESSAGEA 

DEFINITION OF LENGTH OF MESSAGE COMPONENTS 

EQU 3 MESSAGE SERIAL NUMBER LENGTH 

EQU 6 MSG INSTRUCTION LTH INC MSG SER 

EOU 3 MESSAGE UNIT NAME LENGTH 

EQU 6 MESSAGE VOLUME SERIAL LENGTH 

LENGTH PAY BE DEFINED BY EACH MODULE TO FIT REQUIREMENT 
LENGTH OF FULL MSG DEFINEC BY EACH MODULE 
MESSAGE FCRMAT IS I ECOOOA M 000,00000 TEXT 

DC CL3MEC I/C SUPPORT MESSAGE IDENTITY 

DS 0CL3 MESSAGE SERIAL NUMBER 

ORG MSGSER MSERL-1 

DS CLl VOLUME SERIAL LO ORDER BYTE 

ORG MSGSER 

DC CL6«OO0A M» MESSAGE INSTRUCTION INCL MSGSER 

ORG MSGINSTR MINSTL-1 

DS CLl MESSAGE ACTION REQD BY OPERATOR 

DC C« • 

DC CL3'000« UNIT NAME THAT MSG REFERS TO 

DC C • , • 

DC CL6«000000' VOLUME SERIAL THAT MSG REFRS TO 

DC C » , • 

DS 0CL38 

JCB FILE CONTROL BLOCK 
ORG DSCBEND 
DS 0CL176 



MY ROUTINt AT OPEN TO HANDLE INPUT HDR 



PAGE 



10 



Q 



LOC OBJECT CODt 



ACCR1 ADDR2 STMT 



SOURCE STATEMENT 



F24JUNE66 10/07/66 



> 
00 



000064 
000064 
000090 
000098 

000099 
0000 A6 

00O0A7 
0000 A8 
OOOOAA 
OOOOAC 
0000 84 
0000B7 
OOOOBA 
000040 

000010 

000004 

00000 I 

OOOOEB 
000040 

000010 

OOOOBC 
OOOOBC 
OOOOBD 
OOOOBC 
OOOOBE 
OOOOCO 
0000C1 
0000C1 
0000C1 
OOOOCl 
0000C1 
OOOOCl 
0000C2 
0000C3 
0000C6 
0000C8 
0000C9 
OOOOCA 
OOOOCC 
OOOOCE 
OOOOCF 
OOOODO 
OOO0D2 



505+» 










5G6+« 




JFCB 






5C7+» 










509+INFMJFCB 


EQU 


• 






510+JFCBDSNM 


OS 


CL44 DATA SET NAME 






51H-JFCBELNM 


OS 


CL8 ELEMENT NAME OR VERSION 






512+JFCBTSDM 


DS 


CL1 TASK SCHEDULER - DATA 






513+* 






MANAGEMEN1 


• INFERFACE BYTE 


514+JFCBSYSC 


DS 


CL13 SYSTEM CODE 






515+JFCBLTYP 


DS 


CL1 LABEL TYPE AND USER«S-LABEL 




516+* 






INDICATOR 




517+ 


DS 


CL1 NCT USED 






518+JFCBFLSQ 


DS 


CL2 FILE SEGUENCE NUMBER 






519+JFCBVLSQ 


DS 


CL2 VCLUME SEQUENCE NUMBER 






520+JFCBMASK 


DS 


CL8 DATA MANAGEMENT MASK 






521+JFCBCRDT 


DS 


CL3 DATA SET CREATION DATE 






522+JFCBXPDT 


DS 


CL3 DATA SET EXPIRATION DATE 






523+JFCBIND1 


DS 


CLi INDICATOR BYTE 1 






524+JFCBRLSE 


EQU 


64 BITS AND 1 - EXTERNAL 






525+» 






STORAGE RELEASE INDICATOR 


526+JFCBLOCT 


EQU 


16 BITS 2 AND 3 - DATA SET 






52 7+» 






HAS BEEN 


LOCATED 


528+JFCBNEKV 


EQU 


4 BITS 4 AND 5 - NEW VCLUME 






529+» 






ADDED TO 


DATA SET 


530+JFCBPMEM 


EQU 


I BITS 6 AND 7 - DATA SET IS 






53i*» 






A MEMBER 


OF A PODS OR GDG 


532+JFCBIND2 


DS 


CLI INDICATOR BYTE 2 






533*JFCBSTAT 


EQU 


64 BITS AND 1 - DATA SET 






534+» 






STATUS (NEW, OLD, OR MOD) 


535+JFCBSCTY 


EQU 


16 BITS 2 AND 3 - DATA SET 






536+* 






SECURITY 


INDICATOR 


537+JFCBUFNO 


DS 


0AL1 






538+JFCBUFRQ 


DS 


AL1 






539+JFCBFTEK 


DS 


0BL1 






540+JFCBFALN 


DS 


BL1 






541+JFCBUFL 


DS 


AL2 






542+JFCEROPT 


DS 


BL1 






543+JFCTRTCH 


DS 


0BL1 






544+JFCKEYLE 


DS 


0AL1 






545+JFCMODE 


DS 


0BL1 






546+JFCCODE 


DS 


0BL1 






547+JFCSTACK 


DS 


0BL1 






548+JFCPRTSP 


DS 


BL1 






549+JFCDEN 


DS 


BL1 






55C+JFCLIMCT 


DS 


AL3 






551+JFCDSORG 


DS 


BL2 






552+JFCRECFM 


DS 


BL1 






553+JFCOPTCD 


DS 


BL1 






554+JFCBLKSl 


DS 


AL2 






555+JFCLRECL 


DS 


AL2 






556+JFCNCP 


DS 


AL1 






557+JFCNTM 


DS 


AL1 






558+JFCRKP 


DS 


AL2 






559+JFCCYLOF 


DS 


AL1 







MY ROUTINE AT OPEN TO HANDLE INPUT HDR 



PAGE 



11 



Q 



> 

00 
Oi 



LCC CBJECT COOt 

0000C3 
0000 C4 
0000D5 
0000 06 
0000 D8 
0000 09 

0000DA 

0000F8 



0000F9 
OOOOFC 
OOOOFF 

000100 

000103 
000040 

000010 

000004 

000001 

000104 

000107 

00010A 
00010C 



ACDR1 ADDR2 STMT 



SOURCE STATEMENT 



F24JUNE66 10/07/66 



00010F 
000112 
000113 



0000 BO 
000114 



000114 

000114 00000000 



560+JFCDBUFN 

561+JFCINTVL 

562+JFCCPRI 

563+JFCSOWA 

564+JFCBNTCS 

565+JFCBNVOL 

566*« 

567+JFCBVOLS 

568+» 

569+JFCBEXTL 

570*« 

571+* 

572+JFCBEXAD 

573+» 

574+JFCBPQTY 

575+» 

576+JFCBCTRI 

577+» 

578+* 

579+* 

580+JFCBSQTY 

58 1+* 

582+JFCBIND3 

583+JFCBCNTG 

584+» 

585+JFCBMXIG 

586** 

587+JFCBALXI 

588*» 

589+JFCBRNDC 

590+» 

591+JFCBDQTY 

592+» 

593+JFCBSPNM 

594+* 

595+» 

596+JFCBABST 

597*» 

598+JFCBSBNM 

599+« 

6C0+» 

601+JFCBDRLA 

602+JFCBVLCT 

6C3+JFCBSPTN 

604+« 

6C5+» 

606+» 

6G7+JFCBLGTH 

608+JFCBEND 

6C9+» 

611+DXECB 
612+ 



OS 
DS 
DS 
DS 
DS 
DS 

DS 

DS 

DS 
DS 
DS 



DS 

DS 
EQU 

EQU 

EQU 

EQU 

DS 

DS 

DS 
DS 



DS 
OS 
DS 



EQU 
EQU 



AL1 
AL1 
BL1 
AL2 

CL1 NUMBER CF OVERFLOW TRACKS 
CL1 NUMBER CF VOLUME SERIAL 

NUMBERS 
CL30 VCLUME SERIAL NUMBERS (THE 

FIRST FIVE) 
CLl LENGTH CF BLOCK OF EXTRA 

VOLUME SERIAL NUMBERS 

(BEYOND FIVE) 
CL3 TRACK ADDRESS OF eLOCK OF 

EXTRA VOLUME SERIAL NUMBERS 
CL3 PRIMARY QUANTITY OF O.A. 

STORAGE REQUIRED 
CLl INDICATES WHETHER CYLINOERS 

TRACKSt OR RECORDS ARE 

SPECIFIED IN JFCBPQTY AND 

JFCBSQTY 
CL3 SECCNDARY QUANTITY OF D.A. 

STORAGE REQUIRED 
CLl INDICATOR BYTE 3 
64 BITS AND I - CONTIGUOUS 

16 BI TS 2 AND 3 - MAXIMUM 

4 BITS 4 AND 5 - ALL EXTENTS 

1 BIT 6 AND 7 - ROUND 

CL3 QUANTITY OF D.A. STORAGE 

CL3 CCRE ADDRESS OF THE JFCB 



STORAGE INDICATOR 
AVAILABLE EXTENT INDICATOR 
INOICATOR 

CYLINDER INDICATOR 
REQUIRED FOR A DIRECTORY 



DS 
DC 



WITH WHICH CYLINDERS ARE 

SPLIT 
CL2 RELATIVE ADDRESS OF FIRST 

TRACK TO BE ALLOCATED 
CL3 CORE ADDRESS OF THE JFCB 

FROM WHICH SPACE IS TO BE 

SUBALLOCATED 
CL3 AVERAGE DATA RECORD LENGTH 
CLl VCLUME COUNT 
CLl NUMBER CF TRACKS PER 

CYLINDER TO BE USED BY THIS 

DATA SET WHEN SPLIT 

CYLINOERS IS INDICATED 
176 LENGTH CF JFCB 
• 

EVENT CONTROL BLOCK 

0CL4 
X'OOOOOOOO' 



6lA+» 



INPUT/CUTPUT BLOCK 



VY RCUTINE AT OPEN TO HANDLE INPUT HDR 



PAGE 



12 



Q 



LCC CEJECT CODE 



ACCR1 ADDR2 STMT 



SOURCE STATEMENT 



F24JUNE66 10/07/66 



I 

00 

o 



000118 

000118 00 

000119 00 
00011A 
00011 A 

oooi ie 

OOOiiC 

00011C 000114 
000120 

000120 00000000 

000124 00 

000125 00 

000126 0000 
000128 

000129 000170 
00012C 

00012C 000140 
000130 
000131 
000134 0000 
000136 
000138 



000140 

00013C 

000140 00000000 

000144 

000144 00000000 

000148 00000000 

00014C 00000000 

000150 00000000 

000154 

000154 00000140 

000154 

000158 

00015C 

00015C 

000160 

000162 

000164 

000166 

000168 

00016A 



616+DXI0B DS 

617+I0BFLAG1 DC 
618+I0BFLAG2 DC 
619+IOBSENSE DS 
620+IOBSENSO DS 
62l + » 

622+IOBSENSL DS 
623+IOBECBPT DS 
624+ DC 

625+IOBCSfc DS 
626+IOBCOMAD DC 
627+I0BSTAT0 DC 
628+I0BSTAT1 DC 
629+IOBCNT DC 
630+IOBSIOCC DS 
631+IOBSTART DC 
632+IOBWGHT DS 
633+lOBDCBPT DC 
634+ DS 

635+ DS 

636+IOBINCAM DC 
637+IOBERRCT DS 
638+DXDAADDR DS 

640+* 



0CL32 

X'OO' 

X«00« 

OH 

CL1 

C Q 
CL1 SENSE BYTE TIT 
XLl 

AL3 (DXECB) 
OD 

X'OOOOOOOO* KEY, 0000, COMMAND ADDRESS 
X'00« STATUS BYTE 
X'OO' STATUS BYTE I 
X'OOOO 1 CCUNT 
XLl 

AL3(DXCCV») 
XLl 

AL3 (DXDCB) 
XLl 
XL3 

X'OOOO' 
XL2 
D DIRECT ACCESS ADDRESS MBBCCHHR 

DATA EXTENT BLOCK 



642+DYYYY 


DS 


0CL44 


643+DXDEB 


EQU 


DYYYY-4 


644+DXDEBDEB 


DC 


X» 00000000 


645+DXDEBDFL 


DS 


0CL1 


646+DXDEBIRB 


DC 


X» 00000000 


647+DXDEBSYS 


DC 


X'00000000 


648+DXDEBLSR 


DC 


X' 00000000 


649+DXDEBECB 


DC 


X'00000000 


650+DXDEBID 


DS 


0CL1 


651+DXDEBDCB 


DC 


AL4 (DXDCB) 


652+DXDCBAD 


EQU 


DXDEBDCB 


653+DXDEBAPP 


DS 


CL4 


654+DXDEBMOD 


DS 


0CL1 


655+DXDEBUCB 


DS 


F 


656+DXDEBBIN 


DS 


H 


657+DXDEBSCC 


DS 


H 


658+DXDEBSHH 


DS 


H 


6!>9+DXDEBECC 


DS 


H 


660+DXDEBEHH 


DS 


H 


661 + DXDEBNTR 


DS 


H 



663+* 



DATA CONTROL BLOCK 



00016C 
000140 
00016C 0000013C 



000170 
"NO 1 70 



665+DXXXX 


DS 


OF 


666+DXDCB 


EQU 


DXXXX 


667+DXDCBDEB 


DC 


AIDXD 


668+« 






67C+ 


CNOP 


0»8 


671+DXCCVi 


DS 


0Q##«^ 



DXXXX-44 PCINTER TO RELATIVE BEGINNING OF DCB 
EB) 
CHANNEL CONTROL WORDS 



672'D*CCU 


: ■ S 





6 7'UDXCC V»2 


n < 


(3 


674 + T'XCC W3 


DS 


D 


6 ?'•) h< <cc us 


i -' ^!l 


n 


6 7 J+13XCC W6 


L' S 


D 


6 7 8 + DXCCW 


DS 


D 


679+DXCCfeO 


OS 


D 


680*DXCCfe9 


DS 


D 


68 l+DXCCWIO 


DS 


D 


682 + DXCCM 1 


DS 


D 


683+DXCCH12 


OS 


D 



MY ROUTINE AT OPEN TO HANDLE INPUT HDR PAGE 13 

^ LOC CEJECT CODE ACCR I ADDR2 STMT 5f ! u,: V i r Mr Pj T F24JUNE66 10/07/66 

"Z. 000170 

— 000178 
000180 
000188 
000190 
000198 
0001 AO 
0001A8 
OOOIEO 
000 I B8 
0001C0 
0001C8 

0001D0 685+DSECTSIZ EQU 464 CORE AREA REQUIRED F03 THIS MACRO 

000000 686 SYMLCB DSECT 

687 IEFUCBOB 

688+* DATE CF THIS UPCATE 13 JULY 65 

689+# 

69Q+» 

691 + * THE INDIVIDUAL UCB S LOOK LIKE THIS. 

692 + * 
693** •••••»••••«••«•••••••»«»•*»••»••••»•• • 

> 694+* » JCB » ALLOC. * UCB • STATUS * *** 

— 695+* »INTERNAL*CHANNEL * ID « A » *•*»« 
^ 696+* • NUMBER » MASK • * • » 
00 697+* •»*•»•»•••*••»•«•••••#•«••»«••**•«*•• # 
^ 698+* » FLAG1 » UNIT • * « » 

699+* • AND «ADDRESS * FLAG2 * DEVTAB * » 

7CC+* *CHAN.ADD* • • • • 

7C1+* #««#•*««•*•*.••»•«««••*#•*••••*•••••* • 

702 + * • • • * • » 

7Q3+* » ERRTAB » STATAB • LCHTAB * ATNTAB * » 

704 + * • • • • • 

7C5+* *.•.*«•*•••..•«.••«••••••••**«*••*«•. ALL DEVICES 

706+* *SCH ICS* • 

707 + * *FLG FLG* UNIT NAME • • 

708+* * * * * 

7C9+* »»•*«•**«»•*•»••**••••*•**•«•»•*»••»• • 

710+* * * * 

7U + * * TYPE * * 

712+* * • * 

713+* #•••»#»•••••••••»••••••«•*«*•««•«««•• . 

7 14+* » » * * 

715+* • LAST 12* * SENSE « ***** 

716+* * * * *»* 

71 7+* #••*•»«•«•»••»•**•»*•.••«•»»**»•*•*«• « 

718+* •••••••••••*•••*••«***»*«•«**••*••••• • 

719+* * • » 

720+* • SENSE • *•*•* 

721 + * * » • 

722+* •»••••»••.•*•»••»•««••«•••••»•«»«••«• • 

723+* * • » 

724+* • VOLUME SERIAL • • 

725+* * * 

726+* « * « * ••».»****»•***••••» TAPE AND DA 

727+* * • STATUS * DATA * 



MY ROUTINE AT OPEN TO HANDLE INPUT HDR 



PAGE 



14 



? 



LOC CEJECT CODE 



ACCR1 ADDR2 STMT 



SOURCE STATEMENT 



F24JUNE66 10/07/66 



> 

00 
00 



000000 
000000 
000000 
000001 
000002 
000003 
000080 
000040 
000020 
000010 
000008 
000004 
000002 

000001 



000004 
000005 
000006 
000007 
000008 
000009 
00000 A 
££000 e 



728+« 

729+* 

73C+» 

73U» 

732+* 

733+* 

734+» 

735+» 

736+» 

737+» 

738+* 

739+« 

740+» 

741+* 

742+» 

743** 

74<t+« 

745+» 

746+» 

747+» 

748+» 

749+» 

75C+» 

75l+» 

752+» 

753+» 

754+« 

755+» 

756+» 

757+» » » » < 

758+UCBOB 

759+ 

760+SRTEJBNR 

761+SRTECHAN 

762+UCBID 

763+SRTESTAT 

764+SRTEONLI 

765+SRTECHGS 

766+SRTERESV 

767+SRTELNLD 

768+SRTEALOC 

769+SRTEPRES 

77C+SRTESYSR 

771+* 

772+SRTEDADI 

773+* 

774+* 

775+* 

776+UCBCHA 

777+UCBUA 

778+UCBFL2 

779+UCBDTI 

78C+UCBETI 

781+UCBSTI 

782+UCBLCI 

783+UCBATI 



•MANAGMNT* 
» COUNT * 



* VTCC TT * VTOC R * SPARE • 

* CR « OR * 
•FILE SEQ. COUNT * FILE SEQ. NUMBER * 



SEEK QUEUE 



CONTROL WORD 



B B 



H H 



LAST SEEK 



FOR 



DA ONLY 



•CURRENT * 

• NR. CF * 

• USERS • 



D A ECB ADDRESS 



EQU • UNIT CONTROL BLOCKS 

DS OF 

OS XL1 JCB INTERNAL NUMBER 

DS XL1 ALLCC. CHANNEL MASK 

DS XL1 UCB IDENTIFICATION 

DS XL1 STATUS BITS 

EQU 128 ONLINE 

EQU 64 CHANGE CNL I NE/OFFL INE 

EQU 32 RESERVED DEVICE 

EQU 16 UNLOAD THIS DEVICE 

EQU 8 BIT 4 ALLOCATED 

EQU 4 BIT 5 PERMANENTLY RESIDENT 

EQU 2 BIT 6 SYSRES 

OR PRIMARY CONSOLE 

EQU I BIT 7 DADSM INTERLOCK 

OR TAPE CONTAINS 
STANDARD LABELS»OR 
ALTERNATE CONSOLE 

DS XL1 FLAG1 AND CHANNEL ACDRESS 

DS XL1 UNIT ADDRESS 

DS XL1 FLAG2 

DS XL1 DEVICE TABLE 

DS XL1 ERRCR TABLE 

DS XL! STATUS TABLE 

DS XL1 LOGICAL CHANNEL TABLE 

DS XLl^JTENTICN TABLE 



MY ROUTINE AT OPFN TO HANDLE INPUT HDR 



PAGE 



15 



-o 

Q 



I 

00 



LCC CejECT CODE 

OOOOOC 
OOOOOC 
000010 
000010 
000080 
000040 
000020 
000010 
000008 
000004 
000002 
000001 
000010 
000010 
000080 
000040 
000020 
000010 
000008 
000004 
000010 
000014 
000016 
OOOOIC 
000022 
000080 
000040 
000020 
000010 
000002 
000004 

000002 

000001 

000023 

000024 

000026 

000028 

00 0030 

000038 

000039 

00003C 

00003C 

00003D 

00003E 

00003F 

000040 

000046 

000049 

000000 

000158 0050 

00015A 0001 

00015C F1C8C4C940 



ACCR1 ADDR2 STMT 



SOURCE STATEMENT 



F24JUNE66 10/07/66 



784+UC 
785+UC 
786+UC 
787+UC 

7 8 8+UC 
789+UC 
79C+UC 
79H-UC 
792+UC 
793+UC 
794+UC 
795+UC 
796+UC 
797+UC 
798+UC 
799+UC 
8C0+UC 
801 + UC 
802+UC 
803+UC 
804+UC 
805+UC 
8C6+UC 
80 7+SR 
8C8+SR 
809+SR 
810+SR 
811+SR 

8 12+SR 
813+SR 
814+SR 
815 + » 
816+SR 
817+SR 
8 1 8+ SR 
819+SR 
82C+SR 
821 + UC 
822+UC 
823+ SR 
824+SR 
825+DA 
826+DC 
827+DC 
828+OC 
829+DC 
830+DC 
831+DC 
832+DC 
833 
834 
835 
836 



BfcGT 

BNAME 

BTYP 

BTBYT1 

BIFEAO 

B1FEA1 

BIFEA2 

BIFEA3 

RIFEA4 

B1FEA5 

B1FEA6 

B1FEA7 

BTBYT2 

BTBYT3 

B 3 TAPE 

B3C0MM 

B3DACC 

B3DISP 

B3UREC 

B3CHAR 

BTBYT4 

BLTS 

BSNS 

TEVULI 

TESTAB 

TEBSVL 

TE B V SC 

TEBALB 

TEBPRV 

TEBPUB 

TEBVQS 

TEBJLB 

TEBNUL 

TEDMCT 

TEFSCT 

TEFSEQ 

BSQC 

BSKA 

TEUSER 

TEECBA 

TACELL 

ELJBNR 

ELUSER 

ELSTAB 

ELSTAT 

EL VOL I 

ELVTOC 

ELECBA 



DS 

OS 

DS 

EQU 

EQU 

EQU 

EQU 

EQU 

EQU 

EQU 

EQU 

EQU 

EQU 

EQU 

EQU 

EQU 

EQU 

EQU 

EQU 

EQU 

EQU 

DS 

DS 

DS 

DS 

EQU 

EQU 

EQU 

EQU 

EQU 

EQU 

EQU 

EQU 

DS 

DS 

DS. 

DS 

DS 

DS 

DS 

EQU 

DS 

DS 

OS 

DS 

DS 

DS 

DS 

END 



XL1 HEIGHT 

CL3 UMT NAME IN EBCDIC CHARACTERS 

XL4 DEVICE TYPE 

UCBTYP BYTE 1 CF UCPTYPE-MODEL 

128 BIT CF OPTION FIELD 

64 BIT 1 CF OPTION FIELD 

32 BI T 2 CF CPTION FIELD 

16 BIT 3 CF OPTION FIELC 

8 BI T 4 CF CPTION FIELD 

OPTION 

CPTION 

CPTION 



UCBTYPE-OPTIONS 
UCBTYPE-CLASS 



4 BIT 5 CF OPTION FIELD 
2 BI T 6 CF CPTION FIELD 

1 BIT 7 CF CPTION FIELD 
UCBTYPt-l BYTE 2 OF 
UCBTYP^-2 BYTE 3 OF 
128 BI T CF CLASS - TAPE 

64 BIT 1 CF CLASS - COMMUNIC. 

32 BIT 2 CF CLASS - DIRECT AC 

16 BIT 3 CF CLASS - DISPLAY 

8 BIT 4 CF CLASS - UNIT REC. 

4 BIT 5 CF CLASS - CHAR. READ 

UCBTYP 3 BYTE 4 OF UCBTYPE-DEV ICE 

XL2 LAST 12» 

XL6 SENSE INFORMATION 

CL6 VCLUME SERIAL 

XL1 STATUS R 

128 BIT SHARED VOLUME 

64 BIT 1 VCLUME SECURITY 

32 BIT 2 ADDIT.VCL. LABEL PROC 

16 BI T 3 PRIVATE 

2 BI T 4 PUBLIC 

4 BIT 5 VCLUME TO BE QUIESCE 

BIT TO MOUNT ANOTHER 
2 BI T 6 JCBLIB VOLUME 
I BIT 7 CCNTRCL VOLUME 
XL1 DATA MANAGEMENT COUNT 
XL2 FILE SEC. COUNT 
XL2 FILE SEC. NUMBER 
2F SEEK QUEUE CONTROL WORC 
2F PBBCCHHR FOR LAST SEEK 
XL1 CURRENT NUMBER OF USERS 
XL3 DA ECB ADDRESS 

* 9 OF THESE BLOCKS WILL BE PRESENT 
XLl JOB INTERNAL 
XLl CURRENT NUMBER OF USERS 
XLl STATUS R 
XLl STATUS A 
CL6 VCLUME SERIAL 
XL3 VTCC ADDRESS 
XL3 DA ECB ADDRESS 
NSLOHDRl 
=H»80« 
=H« 1' 
=CL5'1HDR • 



> 



CRCSS-REFfcRENCE PAGE 1 

^ SYMBOL LEN VALUE DEFN REFERENCES 10/07/66 

-5 

"Z. ALCGIC 00002 000062 C093 C162 

— BLOGIC 00004 000092 0116 C083 

CHECK 00006 0000D6 C144 C136 

DATACELL 00001 00003C 0825 

DCeeFALN 00001 000020 0232 

CCBBFTEK 00001 000020 0231 

DCEBLKCT 00004 OOOOOC 0213 

DCEBLKSI 00002 00003E 0271 

DCEEUFCB 00004 000^14 0224 

CCEEUFL 00002 0000 18 0225 

DCEEUFNC 00001 000014 0223 

DCECCCW 00004 00004C 0296 

OCBCHECK 00004 000034 0264 

DCBCINC1 00001 00003C 0269 

DCBCINC2 00001 00003D 0270 

DCBCNTRL 00004 000054 0287 

DCBDCNAM 00008 000028 0241 

CCBDEBAC 00004 00002C 0252 

CCBDEN 00001 000012 0216 

DCBDEVT 00001 000011 0221 

DCBDIRCT 00002 000050 0284 

CCBDSQRG 00002 00001A 0226 

DCBECB 00004 00005C 03C3 

DCBEOBAC 00004 000048 0295 

**> CCBEOBR 00004 000048 0282 

>0 CCBEOEW 00004 00004C 0283 

O CCBECCAC 00004 000020 0233 

DCBEROPT 00001 000054 03C0 

DCBEXLST 00004 000024 0235 

CCBGERR 00004 000034 0262 

DCBGET 00004 000030 0255 

DCBIFLG 00001 000031 0243 

DCEIFLGS 00001 00002C 0251 

DCBIOBA 00004 000044 0277 

OCEIOBAD 00004 0000 1C 0227 

DCEIOBL 00001 000038 0266 

DCEKEYLE 00001 000010 0220 

DCELCCW 00004 000048 0294 

DCBLRECL 00002 000052 02S5 

DCEMACR 00002 000032 0244 

OCEMACRF 00002 00002A 0250 

CCBNCP 00001 000048 0281 

CCBNERRS 00004 000004 0210 

DCENOISE 00001 000008 0211 

DCENOTE 00004 000054 0288 

CCBQFFSR 00001 000042 0275 

CCBOFFSW 00001 000043 0276 

OCBOFLGS 00001 000030 0242 C06C 0066 

OCBCPTCC 00001 000034 0261 

CCBPERR 00004 000034 0263 

DCBPOINT 00004 000054 0289 

OCBPRECL 00002 00005A 0302 

DCBPUT 00004 000030 C256 

OCBQSWS 00002 000050 0298 

CCBREAC 00004 000030 0253 

CCBRECAC 00004 00004C 0297 



CROSS-REFERENCE PAGE 2 

Q 3 SYMBOL LEN VALUE CEFN REFERENCES 10/07/66 

-f 

= CCBRECFP 00001 000024 0234 

DCBREL 00003 OOOOll 0222 

OCBSYNAC 00004 000038 0267 

DCBTIOT 00002 000028 0249 

OCBTRTCH 00001 000010 0214 

DCBUERRS 00004 000008 0212 

CCBWCPL 00001 000041 0274 

DCBWCPC 00001 000040 0273 

DCBWRITE 00004 000030 0254 

DCELECBA 00003 000049 0832 

OCELJBNR 00001 00003C 0826 

CCELSTAB 00001 00003E 0828 

DCELSTAT 00001 00003F 0829 

DCELUSER 00001 000030 0827 

DCELVCLI 00006 000040 0830 

CCELVTCC 00003 000046 0831 

DLCGIC 00004 0000 1C 0053 C1C2 

CSCEENC 00001 000064 0434 C5C2 

DSCBEXA 00010 000033 0460 

CSCBEXB 00010 000030 0461 

DSCBEXC 00010 000047 0462 

DSCBEXC 00010 000051 0463 

> OSCBEXSC 00090 000001 0454 

^ CSCBEXSK 00040 000004 0441 

I CSCBEXSQ 00001 000005 0443 

^ OSCBEXTY 00001 000004 0442 

~~ ' DSCBEX2 00010 OOOOOE 0446 

CSCBEX3 00010 000018 0447 

0SCBEX4 00010 000022 0448 

0SCBEX5 00010 000001 0455 

0SCBEX6 00010 OOOOOB 0456 

CSCBEX7 00010 000015 0457 

0SCBEX8 00010 OOOOIF 0458 

DSCBEX9 00010 000029 0459 

DSCBF3C 00004 000000 0440 

CSCBLDBL 00001 000010 0411 

DSCBLKL 00002 00002A 0418 

DSC8LLKT 00004 000006 0444 

OSCBNEXT 00005 00005B 0464 

CSCBULMT 00004 OOOOOA 0445 

DSCCORE 00004 000060 0433 

OSCCRECT 00003 000009 0408 

DSCDSINC 00001 000031 0422 

DSCEXPCT 00003 OOOOOC 0409 

OSCEXTSC 00001 00003E 0427 

DSCEXTYP 00001 000030 0426 

CSCEXT1 00010 000047 0430 

CSCEXT2 00010 000051 0431 

DSCFILSR 00006 000001 0406 

DSCFILTY 00002 000026 0415 

DSCFMTID 00001 000000 0405 

CSCKEYL 00001 00002E 0420 

DSCLOWLM 00004 00003F 0428 

DSCLRECL 00002 00002C 0419 

DSCLSTAR 00005 000036 0424 

CSCNEXT 00005 00005B 0432 



> 



CROSS-REFERENCE PAGE 3 

£> SYMBOL LEN VALUE DEFN REFERENCES 10/07/66 

"2. DSCNOEXT 00001 OOOOOF 0410 

— DSCOPTCC 00001 000029 0417 

DSCRECFM 00001 000078 0416 

DSCRKP 00002 00002F 0421 

DSCSCALC 00004 000032 0423 

DSCSYSCC 00013 000012 0413 

DSCTRBAL 00002 00003B 0425 

DSCUPPLM 00004 000043 0429 

DSCVOLSR 00002 000007 0407 

DSECTSIZ 00001 000 IDO 0685 

DXCBFMIC 00001 000000 0453 

DXCCW 00096 000170 0671 C631 

DXCCW1 00008 000170 0672 C123 C124 0125 0126 0153 

DXCCW10 00008 0001B8 0681 

nXCCWll 00008 OOOICO 0682 

0XCCW12 00008 0001C8 0683 C174 

DXCCW2 00008 000178 0673 

DXCCW3 00008 000180 0674 

DXCCW4 00008 000188 0675 0087 

DXCCW5 00008 000190 0676 C068 

DXCCW6 00008 000198 0677 C089 

DXCCW7 00008 OOOIAO 0678 

0XCCW8 00008 0001A8 0679 

0XCCW9 00008 OOOIBO 0680 

^p DXOAACDR 00008 000138 0638 

nO DXDCB 00004 000140 0666 C633 C651 

^ DXOCBAC 00004 000154 0652 

DXOCBCEB 00004 00016C 0667 

DXDEB 00044 00013C 0643 C667 

OXDEBAPP 00004 000158 0653 

DXDEBBIN 00002 000160 0656 

OXDEBCCB 00004 000154 0651 0652 

DXDEBDEB 00004 000140 0644 

DXDEBOFL 00001 000144 0645 

DXDEBECB 00004 000150 0649 

OXOEBECC 00002 000166 0659 

DXCEBEHH 00002 000168 0660 

DXDE8IC 00001 000154 0650 

DXOEBIRB 00004 000144 0646 

DXDEBPCO 00001 00015C 0654 

DXDEBNTR 00002 00016A 0661 

DXOEBSCC 00002 000162 0657 

OXOEBSHH 00002 000164 0658 

DXDEBSYS 00004 000148 0647 

DXDEBUCP 00004 00015C 0655 CC55 

DXDEBUSR 00004 00014C 0648 

DXDSCB 00096 000000 0404 C438 0452 0468 

DX0SCB3K 00040 000000 0439 

DXECB 00004 000114 0611 0127 C127 0132 0135 C154 0154 0159 0624 

DXIOB 00032 000118 0616 

DXJBF 00176 000064 0503 

DXLEL 00080 OOOCOO 0352 C144 0146 0367 04C3 

DXXXX 00004 000 16C 0665 

DYNAMIC 00001 000000 0191 

DYYYY 00044 000 140 0642 

ELCGIC 00004 000124 0174 



0127 


C127 


0129 


C156 


C144 


0146 


C666 




0C32 




0643 




C094 





CROSS-REFERENCE PAGE 4 

J SYMBOL LEN VALUE DEFN REFERENCES 10/07/66 

-j 

"2. ERRCRl 00004 00011C 0168 C145 

— ERRCR2 00004 OOOllf. 0167 C I A 7 0168 

FL1BLKCT 00006 000036 0379 

FL1CRECT 00006 000029 0376 

FL1EXPCT 00006 00002F 0377 

FL1FILSG 00004 00001F 0373 

FLIFILSR 00006 000015 0371 

FL1FSEC 00001 000035 C378 

FLIGNC 00004 000023 0374 

FL1ID 00017 000004 0370 C367 

FLlLABI 00003 000000 0368 

FL1N0 00001 000003 0369 

FL1RES 00007 000049 0381 

FLIRES1 00006 00004A 0383 

FL1SYSCC 00013 00003C 0380 

FL1VNG 00002 000027 0375 

FL1VCLSC 00004 00001B 0372 

FL2BLKL 00005 000005 0389 

FL2CNTRL 00001 000024 0398 

FL2DEN 00001 OOOOOF 0391 

FL2FILP 00001 000010 0392 

FL2J0BD 00008 000011 0394 
•+> FL2JSIC 00017 000011 0393 

— . FL2JSSP 00001 000019 0395 

"P FL2LRECL 00005 OOOOOA 0390 

vO FL2RECFM 00001 000004 0388 

w FL2RES 00043 000025 0399 

FL2STEPC 00008 OOOOIA 0396 

FL2TRTCH 00002 000022 0397 

IHADCB 00001 000000 0202 0033 0209 0219 0240 0248 0260 0265 0268 0272 0286 0293 0299 0301 

IHB0002 00001 000091 0109 C1C6 

INFMJFCR 00001 000064 0509 

IOBCNT 00002 000126 0629 

ICBCOMAD 00004 000120 0626 

IOBCSW 00008 000120 0625 

IOBDCBPT 00003 000120 0633 

IOBECBPT 00001 000 1 1C 0623 

IOBERRCT 00002 000136 0637 

I0BFLAG1 00001 000118 0617 

I0BFLAG2 00001 000119 0618 

IOBINCAM 00002 000134 0636 

IOBSENSE 00002 00011A 0619 

IOBSENSO 00001 OOOllA 0620 

I0BSENS1 00001 OOOllB 0622 

IOBSICCC 00001 000128 0630 

ICBSTART 00003 000129 0631 

I08STAT0 00001 000124 0627 

IGBSTAT1 00001 000125 0628 

IOBWGHT 00001 00012C 0632 

JFCBABST 00002 00010A 0596 

JFCBALXI 00001 000004 0587 

JFC8CNTG 00001 000040 0583 

JFCBCRCT 00003 0000B4 0521 

JFCBCTRI 00001 OOOOFF 0576 

JFCBDCTY 00003 000104 0591 

JFCBDRLA 00003 OOOIOF 0601 



CROSS-REFERENCE PAGE 5 

-O SYPBCL LEN VALUE DEFN REFERENCES 10/07/66 

Q 

■* JFCRDSN^ 00044 000064 0510 0146 

ZI JFCBELNM 00008 000090 0511 

JFCBENC 00001 000 114 0608 

JFCBEXAC 00003 00OOF9 0572 

JFCREXTL 00001 00O0F8 0569 

JFCBFALN 00001 OOOOBD 0540 

JFCEFLSG 00002 0000A8 0518 

JFCBFTEK 00001 OOOOBD 0539 

JFCBINC1 00001 OOOOBA 0523 

JFCBINC2 00001 OOOOBB 0532 

JFCRINC3 00001 000103 0582 

JFCBLGTH 00001 OOOORO 0607 

JFCBLKSI 00002 OOOOCA 0554 

JFCBLCCT 00001 000010 0526 

JFCBLTYP 00001 0000A6 0515 CC62 

JFCBMASK 00008 OOOOAC 0520 

JFCBMXIG 00001 000010 0585 

JFCBNEWV 00001 000004 C528 

JFCBNTCS 00001 0000D8 0564 

JFCBNVCL 00001 0OOOD9 0565 

JFCBPME* 00001 000001 0530 

JFCBPOTY 00003 OOOOFC 0574 

JFCBRLSE 00001 000040 0524 

J^ JFCeRNCC 00001 000001 0589 

Co JFCBSBNK 00003 OOOIOC 0598 

• JFCBSCTY 00001 000010 C535 

^ JFCBSPNN 00003 000107 0593 

JFCBSPTN 00001 000113 0603 

JFCBSQTY 00003 000100 0580 

JFCBSTAT 00001 000040 0533 

JFCBSYSC 00013 000099 0514 

JFCBTSCM 00001 000098 0512 

JFCBUFL 00002 OOOOBE 0541 

JFCBUFNC 00001 OOOOBC 0537 

JFC6UFRC 00001 OOOOBC 0538 

JFCBVLCT 00001 000112 0602 

JFCBVLSQ 00002 OOOOAA 0519 

JFCeVCLS 00030 OOOODA 0567 0089 

JFCBXPCT 00003 00O0B7 0522 

JFCCOCE 00001 OOOOCl 0546 

JFCCPRI 00001 000005 0562 

JFCCYLCF 00001 000002 0559 

JFCCBUFN 00001 000003 0560 

JFCCEN 00001 00OOC2 0549 

JFCCSCRG 00002 0000C6 0551 

JFCEROPT 00001 OOOOCO C542 

JFCINTVL 00001 0OO0C4 0561 

JFCKEYLE 00001 OOOOCl 0544 

JFCLIHCT 00003 0000C3 0550 

JFCLRECL 00002 OOOOCC 0555 

JFCPCCE 00001 OOOOCl 0545 

JFCNCP 00001 OOOOCE 0556 

JFCNTP 00001 OOOOCF 0557 

JFCCPTCC 00001 00OOC9 0553 

JFCPRTSP 00001 OOOOCl 0548 

Ji*SECFM 00001 0000C8 0552 



CROSS-REFERENCE PAGE 6 

-O 
Q 

3- SYMBOL LEN VALUE DEFN REFERENCES 10/07/66 

~~ JFCRKP 00002 000000 0558 

JFCSOWA 00002 000006 0563 

JFCSTACK 00001 OOOOCl 0547 

JFCTRTCH 00001 OOOOCl 0543 

MESSAGEA 00060 OOOOOC 0473 0476 

MINSTL 00001 000006 0480 

HOCNAME 00008 000074 0103 C175 

MOUNT 00006 000050 0087 0061 CC67 0073 0076 0169 

MSERL 00001 000003 0479 

MSG 00021 000034 0193 C148 C149 0150 

MSGACTN 00001 OOOOOF 0493 

MSGINSTR 00006 OOOOOF 0491 0492 

MSGIOSUP 00003 OOOOOC 0486 

MSGLSTSZ 00004 000008 0472 

MSGSER 00003 OOOOOF 0487 0468 C490 

MSGSERLC 00001 OOOOOF 0489 

MSGTEXT 00038 00001C 0499 

MSGUN 00003 000011 0495 

MSGVOLSR 00006 000015 0497 

MSSG 00004 000142 0188 0087 

MUNI 00001 000003 0481 

> MVOLL 00001 000006 0482 

^ NSLOHDRI 00001 000000 C002 0833 

I REGSTOR 00004 000000 0192 0177 C178 

£° REPLY 00010 000048 0474 

REPLYACR 00003 000001 0470 

REPLYECB 00004 000004 0471 

REPLYLTH 00001 000000 0469 

SRTEALCC 00001 000008 0768 

SRTEBALB 00001 000020 0811 

SRTEBJLB 00001 000002 0816 

SRTEBNUL 00001 000001 0817 

SRTEBPRV 00001 000010 0812 

SRTEBPU8 00001 000002 0813 

SRTEBSVL 00001 000080 0809 

SRTEBVCS 00001 000004 0814 

SRTEBVSC 00001 000040 0810 

SRTECHAN 00001 000001 0761 

SRTECHGS 00001 000040 0765 

SRTEDACI 00001 000001 0772 

SRTEDMCT 00001 000023 0818 CC75 C118 0167 

SRTEECBA 00003 000039 0824 

SRTEFSCT 00002 000024 0819 

SRTEFSEC 00002 000026 0820 

SRTEJBNR 00001 000000 0760 

SRTEONLI 00001 000080 0764 

SRTEPRES 00001 000004 0769 

SRTERESV 00001 000020 0766 

SRTESTAR 00001 000022 0808 

SRTESTAT 00001 000003 0763 

SRTESYSR 00001 000002 0770 

SRTEUNLD 00001 000010 0767 

SRTEUSER 00001 000038 0823 

SRTEVOLI 00006 00001C 0807 

SYMUCB 00001 000000 0686 CC35 



CROSS-REFERENCE 



PAGE 



-o 

Q 



I 

o 



SYMBOL 


LEN 


VALUE 


DEFN 


REFERENCES 


UCEATI 


00001 


OOOOOB 


0783 




UCBCHA 


0000 L 


000004 


0776 




UCBDTI 


0000L 


000007 


0779 




UCBETI 


00001 


000008 


0780 




UCBFL2 


00001 


000006 


C778 




UCBIO 


0000 I 


000002 


0762 




uceLCi 


00001 


OOOOOA 


0782 




UCBLTS 


00002 


000014 


0805 




UCBNAME 


00003 


OOOOOD 


0785 


C0€8 C149 


UCBCB 


00001 


000000 


0758 




UCBSKA 


00004 


000030 


0822 




UCBSNS 


00006 


000016 


0806 




ucesgc 


00004 


000028 


0821 




UCBSTI 


00001 


000009 


0781 




UCBTBYT1 


00004 


000010 


0787 




UCBTBYT2 


00004 


000010 


0796 




UCBTBYT3 


00004 


000010 


0797 




UCBTBYT4 


00004 


000010 


0804 




UCBTYP 


00004 


0000 10 


0786 


CC72 C787 


UCBUA 


00001 


000005 


0777 




UCBWGT 


0000 I 


oooooc 


0784 




UCB1FEA0 


00001 


000080 


0788 




UCB1FEAI 


0000 I 


000040 


0789 




UCB1FEA2 


00001 


000020 


0790 




UC81FEA3 


00001 


000010 


0791 




UCB1FEA4 


00001 


000008 


0792 




UC81FEA5 


0000 I 


000004 


0793 




UCB1FEA6 


0000 I 


000002 


0794 




UCB1FEA7 


00001 


000001 


0795 




UCB3CHAR 


00001 


000004 


0803 




UCB3C0MM 


00001 


000040 


0799 




UCB3DACC 


00001 


000020 


0800 




UCB3DISP 


00001 


000010 


0801 




UCB3TAPE 


00001 


000080 


0798 




UCB3UREC 


00001 


000008 


0802 




VOLLABI 


00003 


000000 


0353 




VOLNO 


0000 I 


000003 


0354 




VCLOWNER 


00010 


000029 


0362 




VCLSEC 


00001 


OOOOOA 


0356 




VOLSERNO 


00006 


000004 


0355 




VOLVTCC 


00005 


OOOOOB 


0358 




WTO 


00004 


00007C 


0105 


0148 



10/07/66 



NO STATEMENTS FLAGGED 
1214 PRINTEC LINES 



IN THIS ASSEMBLY 



Q 



> 
•O 



IEF285I SYS1.MACLIB KEPT 

IEF285I VCL SER NOS = llllll. 

IEF285I AAAAAAAA.AAAAAAAA.AAAAAAAA.AAAAAAAA.CCCCCCC4 DELETED 

IEF285I VCL SER NOS= 222222. 

IEF285I AAAAAAAA.AAAAAAAA.AAAAAAAA.AAAAAAAA.CCC00C05 DELETED 

IEF285I VCL SER NOS = 222222. 

IEF285I AAAAAAAA.AAAAAAAA.AAAAAAAA.AAAAAAAA. 0CC00C06 DELETED 

IEF285I VCL SER NOS = 222222. 

IEF285I SYSOUT SYSCUT 

IEF285I VOL SER NOS = 

1EF285I EBC.CDDD PASSED 

IEF285I VCL SER NUS = 222222. 

II EXEC PGM=IEWL,PARM=«NCAL • 

//SYSUTl CC UNIT = 2311, SPACE=( TRK,(2C, 10) ) ,DI SP=( .DELETE) 

//SYSLKCD CD DSNAME = SYS I . SVCL IB (NSLOHDR I ) .01 SP= < OLD , KEEP) 

//SYSPRINT CD SYSOUT=A 

//SYSLIN CD DSNAMb=&EBC,CISP=<OLD, DELETE) 

// DD DDNAME=SYSIN 

//SYSIN CC * 

IEF236I ALLOC. FOR CDDD 

IEF237I SYSUTl UN 191 

IEF237I SYSLMOD UN 190 

IEF237I SYSLIN UN 191 

IEF237I ON OOC 



Q 



F-LEVEL LINKAGt EDITOR OPTIONS SPECIFIED — NCAL 
IFWOOOO NSLCHDRl NOW RfcPLACED IN DATA SET 



NO 

I 
NO 

00 



Q 



IEF285I 
IEF285I 
IEF285I 
IEF285I 
IEF285I 
IEF285I 
IEF285I 
IEF285I 



AAAAAAAA.AAAAAAAA.AAAAAAAA.AAAAAAAA.0C000C09 DELETED 
VCL SER NOS= 222222. 



SYSL.SVCLIB 

VOL SER NOS= 

SYSCUT 

VOL SER NOS= 

EBC.CDDD 

VCL SER NOS= 



llllll 



222222. 



KEPT 



SYSCUT 



DELETED 



> 



Q 



I 



O 
O 



//CCCD JCB 0, EBCNSL,MSGLEVEL = 1 

//GENEl EXEC PGM= I EUASM, P ARM=( DECK ,RENT ) 

//SYSLIR CC DSNAME = SYS1.MACL IB,DISP=0LD 

//SYSUTi CD UNIT=2311,SPACE=( 17CC, ( 400, 50 ) ) 

//SYSUT2 CC UNIT = 23U, SPACED 17C0, (400,50) ) 

//SYSUT3 CD UNIT = 2311,SPACE = ( 1 7CC, ( 400, 50 ) ) 

//SYSPRINT DD SYSOUT=A 

//SYS PUNCH CD DSNAME=&EBC,UN IT=2 31 I, SPACE = (80, (200,50) ) ,D I SP= ( NEW , PASS ) 

//SYSIN CC • 

IEF236I ALLOC. FOR DDDD GENE 1 

ILF237I SYSLIB ON 190 

IEF237I SYSUTI UN 191 

IEF237I SYSUT2 UN 191 

ILF237I SYSUT3 ON 191 

IEF237I SYSPUNCH UN 191 

IEF237I SYSIN UN OOC 



Assemble NSLOHDRI and Link Edit intoSYSl .SVCLIB 
(Used EBC1 and EBC2 macros in this run.) 



Q 



I 



EXTERNAL SYMBOL DICTIONARY PAGE I 

SYMBOL TYPE ID AODR LENGTH LD ID 00. 04 10/07/66 

NSLOHCRI SO 01 000000 000161 



MY ROUT INK AT OPEN TO HANDLE INPUT HDR 



PAGE 



Q 



LCC CRJECT CODE 
000000 



000000 05FO 
000002 



000002 4100 00F0 

000006 4510 F008 
OOOOOA OAOA 

OOOOOC 90?E 1000 



ACDRl ADDR2 STMT 



SOLRCE STATEMENT 



F24JUNE66 10/07/66 



CCOFC 
CCCCA 

OOOOC 





000010 


0530 


> 


000012 




^o 






, 






o 

CO 








0000 12 


1841 




000000 






000000 






000000 






000000 





000014 4170 0000 



OCCCC 



000018 4180 0024 

00001C 58A7 5000 

000020 58B8 6000 

000024 58C0 B15C 



CCC24 
OCCCC 
OCCCC 
CC15C 



NISLOHDRI 

• •« 

» »» 

• » • 

• » • 



19 
20 
21 



2 

3 

4 

5 

6 

7 

8 

9 • • • 
10 
11 + 
12+ 
13+ 
14 
15 

16 **• 

17 #*• 

18 »*• 

• • • 

• • • 

• •• 

22 »•* 

23 »•« 
24 

25 

26 **• 

27 »»• 

28 *»• 

29 **• 

30 *•» 
31 

32 
33 
34 
35 

36 •*• 

37 »»» 

38 *** 
39 
40 
41 
42 

43 »•• 



• • • 

• »• 
»• • 



44 »»• 

45 »*• 

46 *•» 

47 **« 

48 *** 

49 ••• 

50 »** 

51 # » * 
52 

53 DLOGIC 

54 

55 

56 »** 

57 # 



START 



NCTE THAT THE GETMAIN MACHO REQUIRES BASE REGISTER 
ADDRESSIBILI TY FOR ITS GENERATION - 



BALR 15,0 

USING *,15 

GETMAIN R,LV=240 

LA 0,240(0,0) LOAD LENGTH 

BAL l,*+4 INDICATE GETMAIN 

SVC 10 I SSUE GETMAIN SVC 

STM 2,14,0(1) 

DROP 15 



PROVIDE ADDRESSABILITY 



STORE REGISTERS 



REGISTERS 2 TO 14 ARE SAVED IN AN AREA OF CORE ACQUIRED 
BY WAY OF A GETMAIN MACRO - BASE REGISTER 1 HAS THE 

ADORESS CF THE AREA ACQUIRED 

•DYNAMIC IS THE NAME WE'VE GIVEN TO THE GETMAIN AREA 
WE'VE DESCRIBED IN THE OS ECT IN THIS PROGRAM 



BALR 3,0 
USING »,3 



REGISTER I MUST BE DROPPED AS THE BASE REGISTER OF THE 
DYNAMIC AREA BECAUSE WE ARE ABOUT TO 'EXCP' AND IT USES 
REGISTER 1 



LR 

USING 
USING 
USI NG 
USI NG 



LA 



4,1 

DYNAMIC, 4 
IHADCB, 10 
SYMWACBA, 
SYMUCB,12 
I NITI ALI ZE 
TC PASS CVE 
LI ST OF ADD 
I N THE PRCB 
EACH OCB EN 
THE BEGINM 

7,0 
I MTI ALIZE 
OVER 8 BYTE 
BYTES CONTA 
OF THE 'WCR 
CONTROL BLC 
CLCSE MACRO 
CONTAINS TH 
IN REG 6 DU 



RELEASE 1 FOR MACRO USE 

GR10=ACDR OF DCB 
1 1 GRll=ACDR OF WACBA 

GR12=ACDR OF UCB 
REGISTER 7 TO ZERO - THIS REGISTER IS USED 
R 4 BYTE ACDRESSES - THESE ADDRESSES ARE IN A 
RtSSES (WHICH ARE POINTERS TO ALL THE DCB'S 
LEM PROGRAM AREA) - THERE IS ONE ADDRESS FOR 
TRY IN THE OPEN OR CLOSE - WE GET THE ADDR OF 
NG OF THIS LIST IN REG 5 DURING OPEN 

XR7 FOR DCB'S 
REGISTER 8 TO 36 - THIS REG IS USED TO PASS 
S AT A TIME - AFTER THE 1ST 32 BYTES EACH 8 
INS (IN THE LOW ORDER BYTES) THE ADDRESS 
K AND CONTROL BLOCK AREA' - ONE 'WORK AND 
CK AREA' IS BUILT FOR EACH DCB IN THE OPEN OR 
- WE GET THE STARTING ADDR OF THE TABLE THAT 
E ADDR FOR EACH 'WORK AND CONTROL BLOCK AREA* 
RING OPEN 



LA 

L 
L 

L 



8,36 
10,0(7,5) 

11 ,0(8,6) 

12 ,DXOEBUCB 



XR8 FOR WACBA'S 
ADDR OF DCB IN GRIO 
ADDR OF WACBA IN GR 1 1 
ADDR OF UCB IN GR12 



IS THIS AN 'OUTPUT' DCB 



YES IGNORES THIS DCB 



MY ROUTINE AT OPEN TO HANDLE INPUT HDR 



PAGE 



Q 



I 



O 
CO 



LOC CEJECT COOt 



000028 9180 A030 
00002C 4710 303E 



000030 9110 A030 
000034 47 10 303E 



000038 9180 C012 

00003C 4780 303E 

000040 9180 C023 

000044 4780 303E 



000048 9504 B0A6 
00004C 4780 3080 



ACCR1 ADDR2 STMT 



00030 



00030 



00012 



CC023 



CCC5C 



0005C 



CCC5C 



C005C 



000A6 



00C92 



000050 C211 6188 3130 00188 00142 
000056 C202 B196 CO00 00196 00C0D 
00005C C205 B19A BOOA 0019A CCOOA 



000062 12AA 
000064 4740 3112 



000068 4170 7004 
00006C 4180 8008 
000070 47F0 300A 
000074 C9C7C7F0FIF9F0C2 

00007C 

00007C 0015 

00007E 0000 

000080 C8C4D940D6D540E7 

000091 



00124 



00004 
CC0C8 
COOIC 



SOURCE STATEMENT 

AND CHECKS THE NEXT DCB 

BIT = IF INPUT 



F24JUNE66 10/07/66 



TM 
BO 



TM 

BO 



DCB0FLGS,X'80' 
MOUNT 

IS THIS DCB ALREADY OPENED 
AND CHECKS THE NEXT DCB 



YES IGNORES THIS DCB 



DCB0FLGS,X'10» 

MOUNT 



BIT 3 = 1 IF OPEN 



IS THIS DCB FOR OTHER THAN TAPE 
AND CHECKS THE NEXT DCB. 



58 • 

59 •«* 

60 
61 

62 *•* 

63 • 

64 » 

65 »•• 

66 
67 

68 •»• 

69 * 

70 • 

71 »•• 

72 
73 
74 ••* 

75 
76 

77 »•« 

78 • 

79 • 

80 • 

81 ••« 

82 
83 

84 *•* 

85 »*• SET UP THE MOUNT MSG TC BE USED IN IGG0190B - SEE WTO MACRO 

86 ••• 
DXCCW4(18) tMSSG MOVE IN SKELETON MSG 
DXCCW5+6I3) .UCBNAME MOVE UNIT NAME TO MSG 
DXCCW6+2(6) ,JFCBVOLS MOVE VOL SER NO FROM JFCB 



TM 


UCBTYP+2,X'80' 


BZ 


MOUNT 


TM 


SRTEDMCT, X'80« 


BZ 


MOUNT 



YES IGNORES THIS DCB 
TEST UCB3 TAPE FOR 1 

IS MOUNT MSG BIT ON 



I S NSL BIT IN JFCB ON 
AND CHECKS THE NEXT DCB 



YES GOES TO RO LABEL 
NO IGNORES THIS DCB 



CLI 

BE 



JFCBLTYP,X'04' 
BLOGIC 



CHECK NSL BIT IN JFCB 
GOES TO • MY • ROUTINE 



MVC 
MVC 
MVC 



87 MOUNT 

88 

89 

90 •»* 

91 ...... 

92 ••* 

93 ALOGIC 
94 

95 •** 

96 • 

97 » 

98 • 

99 ••• 

ICC 
101 
102 

103 MODNAME 

104 WTO 
105+WTO 

106 + 

107 + 
108+ 
109+IHB0002 EQU 

110 ♦«• 

111 » 

112 • 

113 • 



LTR 

BM 



LA 
LA 

B 

DC 

WTO 

DS 

DC 

DC 

DC 



TEST TO SEE IF THERE ARE MORE DCB'S OR IF WE'RE FINISHED 

10,10 FIRST BYTE IN CURRENT DCB 

ELOGIC 

INCREMENT GEN PURPOSE REG 7 AND B BY 4 AND 8 TO GET TO 

NEXT 'DCB' IN THE LIST OF DCB'S AND THE 

NEXT 'WORK AND CONTROL BLOCK AREA' RESPECTIVELY 



INCREMENT XR7 BY 4 
INCREMENT XR8 BY 8 
GO TO CHECK NEXT DCB 



7,4(0,7) 

8,8(0,8) 

DLOGIC 

CL8MGG0190B' 

•HOR ON XXX CHECKS', MF=L 

OF 

AL2 (IHB0002-*) MESSAGE LENGTH 

AL2(0) 

C'HDR CN XXX CHECKS' MESSAGE 



MY ROUTINE 

WE SET THE HIGH ORDER BIT IN 'STREDMCT' IN THE DCB TO ZERO 



MY ROUTINL AT OPEN TO HANDLE INPUT HDR 



PAGE 



Q 



LCC OBJECT CORE 



ADDR1 ADDR2 STMT 



SOURCE STATEMENT 



F24JUNE66 10/07/66 



NO 

I 



O 



000091 00 

000092 947F C023 



000096 
00009A 
00009E 
0000 A2 
0000 A6 

0000AE 
0000 62 

0000B4 
0000 B8 
0000 BC 
OOOOBE 
0000C2 



50B0 
9202 
9220 
C20i 
C703 

4110 
OAOO 

4110 
4100 
0A01 
957F 
4780 



R170 
B170 
B174 
B176 
B114 

B118 



BU4 

0001 



R114 
30C4 



3146 
U114 



C0023 



0C170 
00174 
00176 
00114 



00114 



0000C6 0700 

0000C8 47F0 30BE 

OOOOCC 80 

OOOOCC 000100 

OOOODO 5810 30HA 

000004 OAOO 

0000D6 D504 BOOO 314A COCOO 

OOOOCC 4770 310A 

OOOOEO 0509 B014 R064 00014 

0000E6 4770 310A 

OOOOEA D214 4034 306A 00034 

OOOOFO C202 403F COOO 0003F 

00OOF6 4110 4034 



00170 



00158 
00114 

C0118 



00114 
CC001 



C00D6 



OOODC 



CCOCC 

0015C 
0011C 
C0064 
OOUC 
CC07C 
COOOO 
00034 



OOOOFA 0A23 

OOOOFC C201 B176 3148 00176 0015A 

000102 C703 B114 B114 00114 00114 



000108 4110 
00010C OAOO 



B118 



00010E 4110 B114 

000112 4100 0001 
000116 OAOi 

000118 47F0 3050 



OOOUC 9680 C023 
00011C 



00118 



00114 
COCCI 

C0062 



00023 



114 « 

115 • 

116 » 

117 •»♦ 

118 BLOGIC 

119 ••• 

120 • 

121 * 

122 ••« 
123 
124 
125 
126 
127 
128 
129+ 
130+ 
131 
132+ 
133+ 
134+ 
135 
136 
137 
138+ 
139+ 
140+ 
141+ 
142+ 
143+ 

144 CHECK 

145 

146 

147 

148 

149 

150 

151 

152+ 

153 

154 

155 

156+ 

157+ 

158 

159+ 

160+ 

161+ 

162 

163 • 

164 *♦* 

165 «»♦ 

166 ••• 

167 ERR0R2 

168 ERR0R1 



IF WE DETERMINE VIA • OS NAME* AND MHOR* THAT WE'VE WRONG 
TAPE MOUNTED WE WILL PUT A ONE IN THIS BIT WHICH INDICATES 
TO THE CONTROL PROGRAM THAT A MOUNT MSG IS IN ORDER 



NI 



SRTEDMCT, X»7F« 



TURN BIT TO 



BUILD THE CCW 

NOTE THAT THIS IS NCT A GENERALIZED ROUTINE TO BUILO CCWS 



READ ADDR TO CCW 
READ 



FLAGS 
COUNT 
RESET ECB 



WAIT FOR COMPLETION 



ST ll.DXCCWl 

MVI DXCCW1,X«02 S 

MVI DXCCW1+4, X«20» 

MVC DXCCWi+6(2) t=H'80« 

XC DXECB,DXECB 

EXCP DXIOB 

LA ltDXIOB LCAD PARAMETER REG 1 

SVC ISSUE SVC FOR EXCP 

WAIT ECB=DXECB 

LA 1,DXECB LCAD PARAMETER REG 1 

LA 0,1(0,0) CCUNT OMITTED, I USED 

SVC I LINK TC WAIT ROUTINE 

CLI DXECB,X«7F» ERROR CHECK 

BE CHECK READ OK 

ABEND 256, DUMP ERROR ON READ 

CNOP 0,4 

B *+8 BRANCH AROUND CONSTANT 

DC ALK128) DUMP/STEP COOE 

DC AL3(256) COMPLETION CODE 

L l,*-4 LCAD CODES INTO REG I 

SVC 13 LINK TC ABEND ROUTINE 

CLC DXLBL(5) ,=CL5 f lHDR • 

BNE ERR0R1 

CLC DXLBL+20110) ,JFCBDSNM 

BNE ERRCR2 

MVC MSG,WTC 

MVC MSG+1K3) .UCBNAME 

LA I, MSG 

WTO MF=(E,U)) 

SVC 35 ISSUE SVC 

MVC DXCCW1 + 6I2) , = H' i» 

XC DXECB,DXECB 

EXCP DXIOB 

LA 1, DXIOB LCAD PARAMETER REG 1 

SVC ISSUE SVC FOR EXCP 

WAIT ECB=DXECB WAIT FOR COMPLETION 

LA 1,DXECB LCAD PARAMETER REG 1 

LA 0,1(0,0) CCUNT OMITTED, 1 USED 

SVC 1 LINK TC WAIT ROUTINE 

B ALOGIC READ OK 



SET THE 'MOUNTING MESSAGE* BIT ON 



COMPARE TO DSNAME 



EXECUTABLE INSTRUCTIONS 

COUNT 

RESET ECB 

TO POSITION TAPE PAST TAPE MARK 



01 SRTEDMCT, X*80» 

EQU ERR0R2 



TURN BIT TO ONE 



MY ROUTINt AT OPEN TO HANDLE INPUT HDR 



PAGE 



-a 

Q 



NO 

I 



8 



LOC CBJECT CODE 
000120 47F0 303E 



000124 41F0 B1C8 

000128 41B0 3062 
00012C 1814 

00012E 98CE 4028 

000132 982A 4000 

000136 4100 OOFO 
0001 3 A OAOA 

00013C 50B0 FOOO 
000140 0A07 



000142 00180000 

000146 C9C5C3F1F0FIC140 

000000 
000000 
000034 



ACDR1 AD0R2 STMT 
CCC5C 



SOURCE STATEMENT 



F24JUNE66 10/07/66 



001C8 
CCC74 

C0028 
COOOC 

CCOFC 



CCCOC 



169 

170 • 

171 ••» 

172 ••• 

173 »•» 

174 ELOGIC 
175 

176 
177 
178 
179 

180 + 

181 + 
182 
183+ 

184 + 

185 ••» 

186 ♦•• CON 

187 •»• 

188 MSSG 
189 

190 •♦» 

191 DYNAMIC 

192 REGSTOR 

193 MSG 

194 »»• 
195. ••• 
196 »•• 
197 



MOUNT 



RETURN 

15.DXCCW12 PTR TO SUPV PARAM LIST 

ll,MCDNAME PTR TO XCTL MODNAME 

1,4 AREA TO BE FREED 

12,14,REGSTCR+40 RESTORE REGISTERS 

2,10,REGST0R RESTORE REGISTERS 



USES REGISTERS AND I 



LA 

LA 

LR 

LM 

LM 

FREEMAIN R, LV=240 , A= ( 1 ) 

LA 0,24010,0) LOAD LENGTH 

SVC 10 ISSUE FREEMAIN SVC 

XCTL EPL0C=(11) ,SF=(E, (15) ) USES REGISTERS SPECIFIED 

ST 11,0(0,15) STORE IN SUP.PARAML 1ST 

SVC 7 ISSUE XCTL SVC 

STANTS MSG TC BE MOVED TO DXCCW4 AND THEN USED BY IGG019CB 

DC X»00180000« 

DC CMEC101A M YYY,« 

DSECT 

DS 13F 

DS CL21 



DCBD DSORG=PS,DEVD=TA 



000000 



199+« 

2C0+» 

202+IHADCB 
204+» 



DSECT 



DCB SYMBOLIC DEFINITION FOR 
PHYSICAL SEQUENTIAL 



DEVICE INTERFACES 



207+» 



MAGNETIC TAPE 



000004 
000004 
000008 
000008 
OOOOOC 
000010 
000011 
000012 



000010 
000010 
0000 11 
0000 11 
000014 



209+ 


ORG 


IHADCB+4 


210+DCBNERRS 


DS 


F 


2U+DCBN0ISE 


DS 


0BL1 


212+DCBUERRS 


DS 


F 


213+DCBBLKCT 


DS 


F 


214+DCBTRTCH 


DS 


BL1 


215+ 


DS 


BL1 


216+DCBDEN 


DS 


BL1 


2l7+» 






219+ 


ORG 


IHADCB+16 


220+DCBKEYLE 


DS 


BL1 


221+OCBDEVT 


OS 


0BL1 


222+DCBREL 


DS 


AL3 


223+DCBBUFNO 


DS 


0BL1 



ACCESS METHOD COMMON INTERFACE 



MY ROUTINt AT OPEN TO HANDLE INPUT HDR 



PAGE 



-o 



LOC OBJECT COOt 



ADOR1 ADOR2 STMT 



SOURCE STATEMENT 



F24JUNE66 10/07/66 



000014 
000018 
00001A 
00001C 



224+DCBBUFC6 OS A 

225+DCBBUFL OS H 

226+DCBDSORG DS BL2 

227+DCBIOBAD OS A 



229+* 



FCUNDATION EXTENSION 



000020 
000020 

oooo; r 

OOQO^ 

000024 



231+DCBBFTEK 


DS 


OBLl 


232+DCBBFALN 


OS 


00L1 


233+DCBEODAD 


DS 


A 


234+DCBRECFM 


DS 


OBLl 


235+DCBEXLST 


DS 


A 



238+* 



FOUNDATION BEFORE OPEN 



000028 
000028 
000030 
000031 
000032 



240+ ORG 

241+DCBDDNAM DS 
242+DCBOFLGS DS 
243+DCBIFLG DS 
244+DCBMACR DS 



IHADCB+40 

CL8 

BLl 

BL1 

BL2 



> 



O 

o 



0000 28 
000028 
00002A 
00002C 
00002C 
000030 
000030 
000030 
000030 



246+* 

248+ ORG 

249+DCBTIOT DS 
250+DCBMACRF DS 
251+DCBIFLGS DS 
252+DCBDEBAD DS 
253+DCBREAO DS 
254+DCBWRITE DS 
255+DCBGET DS 
256+DCBPUT DS 



FOUNDATION AFTER OPEN 



IHADCB+40 

BL2 

BL2 

OBLl 

A 

OA 

OA 

OA 

OA 



258+* 



CSAM-BSAM-BPAM COMMON INTERFACE 



000034 
000034 
000034 
000034 
000034 
000038 
000038 
000038 
00003C 
00003C 
00003C 
00003E 
000040 
000040 
000041 
000042 
000043 
000044 



260+ 


ORG 


IHADCB+52 


261+DCBOPTCD 


DS 


OBLl 


262+DCBGERR 


DS 


OA 


263+DCBPERR 


DS 


OA 


264+DCBCHECK 


DS 


A 


265+ 


ORG 


IHADCB+56 


266+DCBIOBL 


DS 


OBLl 


267+DCBSYNAD 


DS 


A 


268+ 


ORG 


IHADCB+60 


269+DCBCINDl 


DS 


BLl 


270+DCBCIND2 


DS 


BLl 


271+DCBBLKSI 


DS 


H 


272+ 


ORG 


IHADCB+64 


273+DCBWCPO 


OS 


BLl 


274+DCBWCPL 


DS 


BLl 


275+DCBOFFSR 


DS 


BLl 


276+DCBOFFSfc 


DS 


BLl 


277+DCBIOBA 


OS 


A 



279+* 



BSAM-BPAM INTERFACE 



MY ROUTINE AT OPEN TO HANDLE INPUT HDR 



PAGE 



-o 

Q 



LOC OBJECT CODt 



A0DR1 ADDR2 STMT 



SOURCE STATEMENT 



F24JUNE66 10/07/66 



000048 
000048 
00004C 
000050 
000052 
000054 
000054 
000054 
000054 



231+DCBNCP DS 
282+DCBEOBR DS 
283+DCBEOBW DS 
284+DCBDIRCT DS 
285+DCBLRECL DS 
286+ ORG 

287+DCBCNTRL DS 
288+DCBNOTE DS 
289+DCBP0INT DS 



0BL1 

A 

A 

H 

H 

IHADCB+84 

OA 

OA 

A 



291 + » 



QSAM INTERFACE 



I 



O 



000048 
000048 
000048 
00004C 
00004C 
000050 
000054 
000054 
0000 5 A 
00005A 
00005C 



000000 



293+ 


ORG 


IHADCB+72 


294+DCBLCCW 


DS 


OA 


295+DCBEOBAD 


DS 


A 


296+DCBCCCW 


DS 


OA 


297+DCBRECAD 


DS 


A 


298+DCBQSWS 


DS 


AL2 


299+ 


ORG 


IHADCB+84 


300+DCBEROPT 


DS 


0BL1 


301* 


ORG 


IHADCB+90 


302+DCBPRECL 


DS 


AL2 


303+DCBEOB 


DS 


A 


305 •»• 






3C6 •*» 






307 »»* 






308 SYMWACBA 


DSECT 




309 


EBC2 





311+» 



VCLUME LABEL 



000000 
000050 



313+DXLBL 
314+ 



DS 
DS 



CL80 
CL20 



000064 
000090 
0000 A6 
0000 A7 
OOOOCA 
0000F8 



316+» 

317+JFCBDSNM DS 
318+ DS 

3L9+JFCBLTYP DS 
320+ DS 

321+JFCBVOLS DS 



322 + 
324+» 



DS 



JCB FILE CONTROL BLOCK 
CL44 DATA SET NAME 
CL22 

CL1 LABEL TYPE 
CL51 

CL30 VCLUPE SERIAL NUMBERS 
CL28 

EVENT CONTROL BLOCK 



000114 

000114 00000000 



326+DXECB 
327+ 



DS 
DC 



0CL4 
X'OOOOOOOO" 



000118 



329+» 
331+DXIOB 



DS 



CL4 



INPUT/OUTPUT BLOCK 



333+* 



DATA EXTENT BLOCK 



000140 
00015C 



335+ DS 

336+DXDEBUCB DS 



CL28 

F 



MY ROUTINfc AT OPEN TO HANDLE INPUT HDR 



PAGE 



Q 



> 
S3 



O 



LCC CBJECT COOE 
000160 

00016C 



000170 
000170 
000178 
000188 
000190 
000198 
000 I AO 
0001C8 

000000 

000000 

oooooc 

000010 

000014 

000023 

000024 

000000 

000158 0050 

00015A 0001 

00015C F1C8C4C940 



AC0R1 A0DR2 STMT 



337+ 



SOURCE STATEMENT 



F24JUNE66 10/07/66 



339+» 
341 + 
343+« 



DS 



OS 



CL12 



CL4 



DATA CONTROL BLOCK 



CHANNEL CONTROL WORDS 



345 + 


CNOP 


0,8 


346+DXCCfcl 


DS 


D 


34 7+ 


DS 


CL16 


348+DXCCW4 


DS 


D 


349+DXCCW5 


DS 


D 


350+DXCCK6 


DS 


D 


351 + 


DS 


CL40 


352+DXCCK12 


DS 


D 


354 SYMLCB 


DSECT 




355 


EBC1 




356+ 


DS 


CL13 


357+UCBNAME 


DS 


CL3 UNIT NAME IN EBCDIC CHARACTERS 


358+UCBTYP 


DS 


XL4 DEVICE TYPE 


359+ 


DS 


CL15 


360+SRTEDMCT 


DS 


XLl MOUNT BIT IN HIGH OROER BIT 


361+ 


DS 


CL32 


362 


END 


NSLOHDRI 


363 




=H»80* 


364 




•H'l* 


365 




=CL5«1HDR • 



CROSS-REFERENCE 



PAGE 



-O 
Q 



I 



O 



SYMBOL 


LEN 


VALUE 


DEFN 


REFERENCES 


ALCGIC 


00002 


000062 


0093 


C162 


BLCGIC 


00004 


000092 


0118 


C083 


CHECK 


00006 


00OOC6 


0144 


C136 


DCEBFALN 


00001 


000020 


0232 




CCeflFTEK 


00001 


000020 


0231 




CCEfiLKCT 


00004 


oooooc 


0213 




DCEELKSI 


00002 


00003E 


0271 




oceeuFce 


00004 


000014 


0224 




ccebufl 


00002 


000018 


0225 




cceeuFNC 


00001 


000014 


0223 




ocecccw 


00004 


OOU04C 


0296 




CCBCHECK 


00004 


000034 


0264 




DCBCINCI 


00001 


00003C 


0269 




DCBCINC2 


00001 


000030 


C270 




DCBCMRL 


00004 


000054 


0287 




DCBDONAM 


00008 


000028 


0241 




CCBOEBAC 


00004 


00002C 


0252 




CCBDEN 


00001 


000012 


0216 




DCBCEVT 


00001 


OOOOil 


0221 




CCBDIRCT 


00002 


000050 


0284 




CCBDSORG 


00002 


OOOOIA 


0226 




CCBEQB 


00004 


00005C 


0303 




DCBEOBAC 


00004 


000048 


0295 




DCBEQBR 


00004 


000048 


0282 




CCBEOBW 


00004 


00004C 


0283 




DCBEOCAC 


00004 


000020 


0233 




DCBEROPT 


00001 


000054 


03C0 




DCBEXLST 


00004 


000024 


0235 




CCBGERR 


00004 


000034 


0262 




DCBGET 


00004 


000030 


0255 




DCBIFLG 


0000 1 


000031 


0243 




DCBIFLGS 


0000 1 


00002C 


0251 




DCBIOBA 


00004 


000044 


0277 




DCBIOBAC 


00004 


0000 1C 


0227 




OCBICBL 


00001 


000038 


0266 




OCBKEYLE 


00001 


000010 


0220 




CC6LCCW 


00004 


000048 


0294 




DCBLRECL 


00002 


000052 


0285 




OCBHACR 


00002 


000032 


0244 




DCBPACRF 


00002 


00002A 


0250 




OCBNCP 


00001 


000048 


0281 




OCBNERRS 


00004 


000004 


0210 




OCBNCISE 


00001 


000008 


0211 




DCBNOTE 


00004 


000054 


0288 




CCBOFFSR 


00001 


000042 


0275 




DCBOFFSW 


00001 


000043 


0276 




DCBCFLGS 


00001 


000030 


0242 


006C C066 


DCBOPTCC 


0000 1 


000034 


0261 




OCBPERR 


00004 


000034 


0263 




DCBPOINT 


00004 


000054 


0289 




DCBPRECL 


00002 


00005A 


0302 




DCBPUT 


00004 


000030 


0256 




DCBQSWS 


00002 


000050 


0298 




DCBREAC 


00004 


000030 


0253 




DCBRECAC 


00004 


00004C 


0297 




DCERECFM 


00001 


000024 


0234 





10/07/66 



CROSS-REFERENCE PAGE 2 

2 s SYMBOL LIEN VALUE DEFN REFERENCES 10/07/66 

21 DCEREL 00003 000011 0222 

— CCBSYNAD 00D04 000038 0267 
CCBTIOT 00002 000028 0249 
DCeTRTCH 00001 000010 0214 
0C6UERRS 00004 000008 0212 
DC6WCPL 00001 000041 0274 
CCEWCPC COOOl 000040 0273 
OCfiWRITE GC004 000030 0254 
DLCGIC 0C004 00001C 0053 01C2 

DXCCWi 00008 000170 0346 C123 0124 0125 0126 0153 

0XCCW12 00008 0001C8 0352 C 1 74 

0XCCW4 00008 000188 0348 0087 

DXCCW5 00008 000190 0349 C088 

DXCCW6 00008 000198 0350 0089 

CXCEBUCB 00004 00015C 0336 0055 

DXECB 00004 000114 0326 0127 0127 0132 0135 0154 0154 0159 

CXICB 00040 000118 0331 0129 0156 

DXLBL 00080 000000 0313 0144 C146 

DYNAMIC O0OO1 000000 0191 C032 

ELOGIC 00004 000124 0174 C094 

ERRGR1 00004 OOOUC 0168 C145 

ERRCR2 00004 OOOUC 0167 C147 C168 

•p. IHADCB 00001 000000 C202 0033 0209 0219 0240 0248 0260 0265 0268 0272 0286 0293 0299 0301 

— . IHB0002 00001 000091 0109 01C6 

f> JFCBCSNM 00044 000064 0317 0146 

-L JFCBLTYP 00001 0000A6 0319 0082 

— JFCBVOLS 00030 OOOODA 0321 CC89 
MODNAME 00008 000074 0103 0175 

MOUNT 00006 000050 0087 0061 0067 0073 C076 0169 

MSG 00021 000034 0193 C148 C149 0150 

MSSG 00004 000142 0188 C087 

NSLOHDRI 00001 000000 0002 0362 

REGSTOR 00004 000000 0192 C177 0178 

SRTEDMCT 00001 000023 0360 0075 C118 0167 

SYMUCB 00001 000000 0354 CC35 

SYMWACBA 00001 000000 0308 0034 

UCBNAME 00003 OOOOOD 0357 0088 0149 

UCBTYP 00004 000010 0358 CC72 

WTG 00004 00007C C105 0148 

NC STATEMENTS FLAGGED IN THIS ASSEMBLY 
449 PRINTED LINES 



F-LEVEL LINKAGE EDITOR OPTIONS SP EC IFI ED— NC AL 
IEWOOOO NSLCHORI NOW REPLACED IN DATA SET 



Q 



> 



-o 

Q 



If F285 1 SYS1.HACLIR KFPT 

IEF285I VCL SER NOS= llllll. 

IEF285I AAAAAAAA.AAAAAAAA.AAAAAAAA.AAAAAAAA. CC0CCC02 DELETED 

IEF285I VOL SER NOS= 222222. 

IEF285I AAAAAAAA.AAAAAAAA.AAAAAAAA.AAAAAAAA.CC0C0C03 DELETED 

IEF285I VCL SER NOS = 222222. 

IEF285I AAAAAAAA.AAAAAAAA.AAAAAAAA.AAAAAAAA.CC000C04 DELETED 

IEF285I VCL SER NOS= 222222. 

IEF285I SYSCUT SYSOUT 

IEF285I VOL SER NOS = 

IEF285I EBC.CODU PASSED 

IEF285I VCL SER ,MOS= 222222. 

// EXEC PGM=IEWL,PARM='NCAL • 

//SYSUT1 CC UNIT=231i,SPACE = ( TRK, (20,10) ) ,DISP=( , DELETE) 

//SYSLNOD CO DSNAME=SYSl.SVCLIB(NSLOHDRI ) ,D I SP= < CLD , KEE P) 

//SYSPRINT CD SYSOUT=A 

//SYSLIN CD DSNAMfc=CEBC,DISP=(OLD, DELETE) 

// CD DDNAME=SYSIN 

//SYSIN CD * 

IEF236I ALLCC. FOR CDCC 

IEF237I SYSUT1 ON 191 

IEF237I SYSLMOD UN 190 

IEF237I SYSLIN ON 191 

ILF237I ON OOC 



> 



NO 



IEF285I AAAAAAAA.AAAAAAAA.AAAAAAAA.AAAAAAAA.CG000007 OELETED 

IEF285I VOL SER NOS= 222222. 

-^ IEF285I SYS1.SVCLIB KEPT 

Q IEF285I VCL SER NOS= llllll. 

■+ IEF285I SYSOUT SYSOUT 

Z: IEF285I VOL SER NOS= 

IEF285I EBC.DDOD DELETED 

IEF285I VCL SER NOS= 222222. 



I 



CO 



Q //HHHH JCB 0,EfcCGO,MSGLEVEL=i 

^ //JCBLIR CD DSNAME=EBCL I B, D I SP = ( OLD , PA SS) 

— //GE EXEC PGM=EBC3 

//TAPE1 CD UNIT=180,LABEL = < ,NL ) ♦ DSNAME = TAPE 1 80 

//TAPE2 DU UNIT=l8l,LABEL = ( ,NSL ), VOL UME=SER=TAPE2 ,DSNAME = TAPE 181 

//TAPE3 DC UNIT=18?,LABEL = ( , NSL ) , VOL UME =SER = TAPE3 ,DSNAME = TAPE 182 

//SYSAfiENC CD SYSOUT=A 

IEF236I ALLOC. FOR HHHH GE 



> 



IEF237I 


JCBLIB 


ON 


190 


IEF237I 


TAPE1 


UN 


180 


IEF237I 


TAPE2 


ON 


181 


IEF237I 


TAPE3 


ON 


182 



Execute the Test Program 
(During this run the NSL checks) 



Q 



IEF28M 


EBCLIB 






ItF285I 


VOL SER 


NOS = 


111111 


IEF285I 


TAPE180 






IEF285I 


VOL SER 


NOS = 


LGLCC1 


IEF285I 


TAPElOl 






IEF285I 


VOL SER 


MOS = 


TAPE2 


IEF285I 


TAPE182 






IEF285I 


VOL SER 


NOS = 


TAPE3 


IEF285I 


SYSOUT 






IEF285I 


VOL SER 


NOS = 




IEF280I 


K L81,TAPb2 ,HhHH 


IEF280I 


K 182,TAPfc3 ,HhHH 


IEF285I 


EBCLIB 






IEF285I 


VOL SER 


NOS = 


nun 



PASSED 

DELETED 

DELETED 

DELETED 

SYSOUT 

KEPT 



NO 

I 



Oi 



"U //HHHH JOB 0»E6CG0tMSGLEVEL = l 

° //JCBLIB DC DSNAME=EBCLIB,DISP=(OLD,PASS) 

"2_ //GE EXEC PGM=EBC3 

— //TAPE1 DD UNIT=180,LABEL = (,NL),DSNAME = TAPE180 

//TAPE2 CD UNIT=l8l,LABEL = ( ,NSL ) , VOL UME = SER = TAPE2 ,DSNAKE*TAPE181 

//TAPE3 DD UNIT=182,LABEL = < t N SL) , VOL UME=SER= TAPE 3 ,D SNAME = TAPE1 82 

//SYSABEND OD SrSOUT=A 

IEF236I ALLOC. FOR HHHH GE 



> 



IEF237I 


JOBLIB 


ON 


190 


IEF237I 


TAPE1 


ON 


180 


IEF237I 


TAPE2 


ON 


181 


IEF237I 


TAPE3 


ON 


182 



Execute the Test Program 

(During this run the NSL does not check) 



T3 
Q 



• ••ABCUMP REQUESTED*** 

JOB HHHH STEP GE DATE 66280 

COMPLETION CODE USER = 0256 

PSW UPON ENTRY TO ABEND FF04000D 5C00337E 

TCB 000180 RB 03FCF0 PIE 000000 DEB 03FC84 

MSS 000036A8 PK/FLGS 00910400 FLGS/LDP 00000000 

ID/FSA 0403FFB4 TCB OOOOOC TME 0036BC 



TIOT 03FF34 
LLS 000000 



CMP 000100 
JLB 03FEB8 



PAGE 0001 



TRN 00000000 
JSE 00000000 



> 



ACTIVE RBS 

AOOl 0052A8 

A002 03FE28 
REGS 0-7 
REGS 8-15 

A003 03FD50 
REGS 0-7 
REGS 8-15 

A004 03FCF0 
REGS 0-7 
REGS 8-15 



NM EBC3 



SZ/STAB C03B00C0 USE/EP 000052C8 PSW FF050013 400052F2 G 000000 WT/LNK 00000180 UB 005480 



NM SVC-HDRI SZ/STAB C012D072 USE/EP 000032A8 

00000030 80C052E4 C0000080 400052CE 

0000003C 40G0B302 C003FEF4 0003FF34 

NM SVC-401C SZ/STAB C00CD072 USE/EP 000032A8 

00000001 8000010C 800053B8 700032BA 

00000034 0003FF34 8C0053B8 00005850 

NM SVC-105A SZ/STAB C00CD072 USE/EP 000032A8 

OOOOOOEO 00005BCO 00000878 400032AA 

000036A8 00005C36 CC040000 00000180 



PSW FF04000D 5000337E Q 610161 WT/LNK 000052A8 

00005434 0003FF34 000028F0 OOC00080 

00000180 00005434 00002940 400052C8 

PSW FF040033 4000344C Q A103A1 WT/LNK 0003FE28 

00005A78 800052E4 00005A38 00000008 

2B001370 00005A20 0003FF88 5000250A 

PSW FF04000E 0003FB94 Q Df03DF WT/LNK 0003FD50 

00000000 0003F8C0 00005B68 80003428 

00000180 00005BDO 50003402 0003FB70 



LOAD LIST 



SAVE AREA TRACE 



EBC3 



WAS ENTERED 



SA 0003FFB4 WDl 0000018 1 HSA OCCOOOCO L SA 00005434 RET 00002940 EP 400052C8 

00 00000030 1 0003FF04 02 0CCC0080 03 00000181 04 00005218 05 0003FF34 06 000028FO 

07 00000080 08 0000003C 09 4C00B3O2 10 0003FEF4 11 0003FF34 12 00000180 



SA 00005434 
00 00000000 
07 00000000 



WDl 00000000 

01 oooooooo 

08 OOOOOOOO 



HSA 0003FFB4 
02 OCOCOOOO 
09 OCCCOOOO 



LSA OOOOOOOO 
03 CCCOOOOO 
10 OOOOOOOO 



RET OOOOOOOO 
04 OOOOOOOO 
11 OOOOOOOO 



EP OOOOOOOO 
05 OOOOOOOO 
12 OOOOOOOO 



06 OOOOOOOO 



INTERRUPT AT 0052F2 



PROCEEDING BACK VIA REG 13 

SA 00005434 WDl OOOOOOOO HSA 0003FFB4 LSA OOOOOOOO RET OOOOOOOO EP OOOOOOOO 



Q 

3- 00 00000000 01 00000000 02 0C00OOOO 03 00000000 04 00000000 05 00000000 06 00000000 

— 07 00000000 08 00000000 09 OCCCOOOO 10 00000000 11 00000000 12 00000000 

EBC3 WAS ENTEREO 

SA 0003FFB4 WD1 00000181 HSA OCCCOOOO L SA 00005434 RET 00002940 EP 400052C8 

00 00000030 01 0003FF04 02 CCC00080 03 00000181 04 00005218 05 0003FF34 06 000028F0 

07 00000080 08 0000003C 09 4C00B302 10 0003FEF4 11 0003FF34 12 00000180 



PAGE 0002 



l 



00 



"T3 
Q 



REGS AT ENTRY TO ABEND 
REG 0-7 00000001 800CC1CC 
REG 8-15 00000034 00C3FF34 



> 



000000 

000020 

000040 

000060 

000080 

LINES OOOOAO- 

000140 

000 160 

000180 

000 1A0 

000 ICO 

000 1E0 

000200 

000220 

000 240 

000260 

000280 

000 2 AO 

0002C0 

0002E0 

000300 

000320 

000340 

000360 

000380 

0003A0 

0003CO 

0003E0 

000400 

000420 

000440 

000460 

000480 

0004A0 

0004C0 

0004E0 

000500 

000520 

000540 

000560 

000580 

0005A0 

0005C0 

0005E0 

000600 

000620 

000640 

000660 

000680 

0006A0 

0006C0 



OOOCOOOO 

FF040001 

0003FC60 

00040000 

00000000 

000120 SAME 

00000000 

00000000 

0003FCF0 

00000000 

50005C86 

00005D54 

00000000 

00002F78 

00002542 

028096F0 

58900254 

98290100 

90A1021C 

94FD9011 

01FC98CD 

100012AA 

01FC8200 

03EA9889 

49A0025C 

05E6D400 

474003B8 

40300418 

481C0022 

00005B68 

000036A8 

4700051C 

04829029 

477004B2 

0000228C 

12114740 

04C907FE 

91400643 

4770054A 

04D4D201 

100347F0 

05924010 

40185860 

05521801 

401D01bl 

400C58DO 

00048000 

800053B8 

000036A8 

50104018 

O46458B0 



0CC0051C 
4003FB94 
O80CC0C0 
000CC346 
OOCCCOOO 

AS ABOVE 
OOCGCOOC 
COCCCOCO 
OOCCCOCC 
OOCOCOOO 
50C0250A 
C0C05D54 
COCOCOCC 
00C038C6 
00C02670 
025F9029 
05B95850 
91FC026B 
D2C70458 
918CC01B 
002858B0 
7CB9280 
00284700 
023C43A9 
47A003DE 
03470022 
90A101B0 
58C00244 
41101F00 
0003FC30 
00005BCC 
58CC018C 
01D05830 
902901D0 
C0C02118 
05C448A0 
131158A0 
47700464 
D2C3C4DC 
04D21000 
069C4190 
50C04060 
5CC01266 
58101004 
504C0180 
40C090DI 
CCC03118 
70C032BA 
CCC05BC0 
459005E8 
069841A0 



800053B8 
800053B8 

F OF OF 5C 1 
00000000 
0003FC50 
CC040000 
CCOOOOOO 

COOOOOOO 
00000000 
0003FC84 
0003FEB8 
00000001 
C000C008 
OCOOOOOO 
00000001 
00002508 
01D04700 
024C47F0 
47800460 
00184 7F0 
478002F2 
02509101 
100098F0 
03D6900F 
AC0041BA 
IEB8D202 
477003B8 
58A00180 
07FC95F8 
8910000C 
00005C18 
500032AA 
D2070458 
04C00523 
583004C4 
CC000180 
04D4D201 
04DCD203 
902901D0 
1C004590 
47700572 
05525840 
10009101 
478005D2 
9140400B 
D2024015 
01BC07F9 
FF040190 
0C0O5A78 
5C0032AA 
43610002 
0638058B 



700032BA 
00005850 

00000000 
00000000 
000028F0 
000002FE 
00000000 

00000000 
82000170 
0003FF34 
00000000 
00005C18 
00000000 
00000000 
40002084 
00001000 
02 8E5840 
0BDE90A1 
98A1021C 
02E45890 
582002F8 
0029078B 
A0008900 
04185890 
A0001ABA 
0249B000 
982E0420 
D207A010 
00234 7C0 
988B0438 
0003FB70 
00005BD0 
C0109500 
982901D0 
05239829 
00000180 
1000A000 
1000AOOO 
58100408 
05B647F0 
D20104D4 
20084150 
019D4770 
185647F0 
0779D227 
40009101 
92000461 
000038BA 
800052E4 
00005BD0 
1BDD43D0 
0OOAOAO3 



00005A78 
2B001370 

000028F0 
OOOOFFOO 
5C765E9E 
00020000 
00000000 

0000366C 
00040000 
80000100 
000036A8 
00005B68 
0403FFB4 
00000000 
00003ACA 
00001 EDO 
0180D207 
021CD207 
82000458 
04CC90A1 
052247F0 
58A00184 
C0001200 
025805B9 
47800400 
9107B002 
950004CA 
002047F0 
040041 BO 
OAODOOOO 
00005D54 
50005C86 
C01C4770 
47F004B2 
01D098A1 
00000402 
4010A000 
5010A000 
12114740 
052C4810 
10005820 
401A4860 
055247F0 
05C25010 
40200 1C8 
40114710 
98290418 
00001548 
00005A38 
50005C86 
600845F0 
4E000000 



800052E4 
00005A20 

00004088 
00000000 
00000000 
000OOOE2 
00000000 

00000000 
00005B68 
00000000 
00005BCO 
0003FC30 
00000000 
00000000 
00000180 
00004036 
40100038 
04580038 
902901D0 
90305899 
029C0000 
12AA07CB 
07BB50F0 
1BAA43A0 
58300010 
477003DE 
478003BC 
046092FF 
00FF17AB 
00000000 
00005054 
0003FB70 
04945810 
96020459 
01B0D201 
04D204D2 
401004D4 
501004DC 
05525510 
04D24910 
10089101 
50001266 
05E85840 
50005060 
D2174048 
061A9200 
47F00464 
0003FE28 
00000008 
5000250A 
06D055E0 
F3320008 



00005A38 
0003FF88 

FF04C080 
FF06000E 
00040000 
00040000 
00000000 

00000000 

oooocooo 

000036A8 
500032AA 
00005C18 
000036BC 
00000000 
00000000 
00004020 
94FD4011 
47F00280 
91F0026B 
0000D207 
00002160 
90C2A004 
002C41E0 
00239547 
584004CC 
96F00347 
82000020 
002247F0 
41A0A047 
00000001 
00000008 
FF04000E 
01F89181 
581001F8 
04CA04CE 
FF000408 
92F 00461 
47F004F8 
040CD203 
04064780 
10034780 
478005A2 
1008960C 
10009101 
01B09640 
401041E0 
C9C7C5F0 
00000001 
00000034 
00002B8E 
063C50E0 
000558E0 



PAGE 0003 

00000008 
5C00250A 

00003BA6 
0003FB94 
000002B4 
0000025E 
00000000 

OOOOOCOO 
OCOOOOOO 
00910400 
00005BDO 
0003FB70 
OCOOOOOO 
0003F8:8 
0000258D 
001C4700 
90A10180 
940F025F 
478002CE 
90100018 
0A0390A9 
181A58A0 
02FC98A0 
002347AO 
58504000 
58600248 
95FF0020 
034ED23F 
47F 00362 
00005C18 
00000000 
0CO3FB94 
10004790 
91881000 
82000458 
FFC00408 
D70204C9 
90290418 
04D81000 
062C4910 
058694FE 
185647F0 
4C0B4150 
019D4770 
400BD202 
06CE58F0 
F 2F OF OC 9 
00005964 
0003FF34 
41400638 
063C4780 
000807FF 



Q 



PA 



I 



O 



0006E0 
000700 
000720 
000740 
000760 
000780 
0007A0 
0007C0 
0007E0 
000800 
000820 
000840 
000860 
000880 
0008A0 
0008C0 
000860 
000900 
000920 
000940 
000960 
000980 
0009A0 
0009C0 
0009E0 
000 A00 
000A20 
000 A40 
000A60 
000 A80 
000 A A0 
000 ACO 
0OOAE0 
000800 
000 B20 
000 840 
000 B60 
000 B80 
OOOBAO 
000 BCO 
OOOBEO 
OOOCOO 
000C20 
0OOC4O 
000C60 
000C80 
OOOCAO 
OOOCCO 
OOOCEO 
000 DOO 
000D20 
000D40 
000 060 
000 D80 
OOODAO 



41500800 
47E00B7A 
43A20020 
000341DA 
48105068 
07E0D201 
077C4180 
58A05074 
05022015 
477007EE 
91C0402C 
084647E0 
OF2AD2C0 
58F3001C 
43670005 
IB994017 
092E913E 
70069120 
00089477 
700647F8 
20199108 
302047F0 
20004710 
0A02D501 
91043008 
A00841A0 
08F647F0 
D20250FI 
47F0089C 
09324710 
700694DF 
20004710 
51E007FA 
40100000 
47100AAA 
078E40BD 
58C9C000 
00484A10 
82000070 
46900BD2 
00454770 
18A68C60 
52264860 
0C6C58F3 
9D006000 
51039420 
91800044 
910C0044 
70069120 
0D069604 
45E00B48 
9F006000 
51024710 
91807006 
00412009 



1A551821 
IB9918A9 
89A09CC0 
51FEC7FC 
1211474C 
506810C0 
07AC48AD 
439AC0C0 
50914780 
41BC0020 
47800830 
0828D201 
50A82018 
58FFG004 
9CC06000 
001494B7 
00454770 
00444718 
70064188 
C0089110 
20C041AC 
086C9110 
09ACD207 
7031A004 
47800A02 
50D89202 
0AAA40A0 
20119101 
58F3001C 
0AAA9110 
20C041E0 
086258A2 
41D70028 
401DC002 
18A018BA 
000207FE 
07FF41B0 
50FC58F0 
41EC0D2C 
41AG007F 
0B9C4180 
00088870 
003A9120 
001C58FF 
47200D50 
70069108 
471C0E40 
47800CD2 
20004710 
20CC05EF 
91202001 
47C00DC0 
006C18EC 
47800E40 
94BF2001 



92805102 
91FE3010 
587A3020 
4012001E 
07C 04071 
91022000 
000607FA 
92F0A000 
078258AO 
47F00B6A 
91202000 
200C7014 
41A050A8 
05EF47F0 
4720093E 
700696A0 
0DB09U0 
00049608 
00044 7F0 
2C004710 
50C 84780 
20014710 
70302020 
47700A64 
D5017035 
509C45C0 
50E21BAA 
2C004780 
58FF0000 
00444710 
0F564397 
C0189101 
47F00AF8 
D2011000 
48AB0000 
58B20004 
001045FO 
001058FF 
58B30014 
89A00018 
003C9200 
001C4366 
70064780 
000805EF 
40900044 
00444780 
91020044 
43970007 
0F2E58A3 
47F00D18 
47100BA4 
91805102 
41C00A0A 
91030044 
947F7006 



41C00748 
4770071C 
91FF7002 
07082008 
00029023 
47100798 
47F007B8 
800050A4 
5098D501 
418007AC 
47880008 
94EF7006 
41C008D4 
089C41E0 
05A088AO 
70069130 
00444710 
70069140 
0E4045E0 
0862D202 
097C41A0 
0AB641A7 
1BAA43A7 
D5037033 
A0084740 
08744770 
43A70030 
0A54D202 
05EF47F0 
08FA4 7F0 
00 074 8 A9 
20004710 
47F00AF0 
506A07FE 
12AA074E 
43A20004 
0B589200 
00348910 
58CB0OOO 
58F05078 
51021B99 
52161A67 
OC 74481 7 
91FF0044 
91402001 
00 7002 06 
47100F00 
48A951E4 
001C58FF 
47F00024 
D20U000 
471007B8 
47F00738 
47800C9C 
47F00C8E 



1B111804 
48730022 
47E00B7A 
20080403 
100418A0 
91C0402C 
47F0080C 
80000078 
A0021002 
91117006 
43970007 
45E00B1C 
9200509C 
0D244 390 
001842A2 
201005CC 
08FE45EO 
00444718 
0B249240 
50D12011 
50C0D200 
00319102 
003089A0 
A0064740 
09FCD501 
0A7A9000 
89A00004 
50F12019 
0A9A47F0 
0A1A41E0 
51E047FA 
OA0658A2 
41070028 
48AD0002 
19A14770 
89A00018 
7006 180C 
00 1007 FF 
41BB0004 
07FF4290 
1B1 14860 
43665216 
00149823 
47700C6C 
47100D9E 
20090041 
91310045 
05EA9120 
A0009103 
47F00056 
50684010 
58A0508C 
91207006 
02017014 
910E0045 



58420014 
91707012 
58B20004 
200050F4 
02001004 
47100FFA 
45E00A0A 
429A0000 
47700782 
4770083A 
48A951E2 
927E2004 
50A00048 
509C48A9 
00104067 
18E84780 
08244 7F0 
00089680 
20029202 
91012000 
50CD7018 
70064710 
00044 1AA 
0A640503 
7035A00C 
600047B0 
43AA3020 
50A00048 
0A9247F0 
0D2047F0 
000841A7 
001047F0 
47F00B24 
401A0000 
0B26O201 
58F05078 
181B47F0 
50100118 
1B99D100 
51010100 
003AD500 
54A05004 
10045842 
91310045 
91807004 
91040044 
47700F04 
70064780 
200C4770 
47F00D3A 
506892FF 
07FA927F 
471000A8 
00449610 
47700B94 



5834002C 
4780072C 
1BAA43A7 
927F2004 
A0709101 
91CB7006 
58A05088 
92805102 
41AA0OOC 
91022000 
07FA9110 
D2012002 
91202000 
513007FA 
00045890 
0B249130 
0C8694FD 
70069184 
200C47F0 
478C0962 
921B50C8 
0A2640A0 
30209108 
7033A00A 
47C00A02 
0A129602 
42A050ED 
41C008D4 
09AC9130 
0AAA9242 
003C47FO 
086C4397 
91010001 
47FC0B04 
B0001000 
43910004 
0B7E4110 
4060003A 
5101B000 
B0005101 
004450FE 
1A661AAA 
00149180 
47800D50 
47800C86 
47800CAO 
955C0044 
0D3A41F0 
0D029171 
91042000 
100407F8 
200441C8 
91040044 
700647F0 
41B00080 



GE 0004 
910F3018 
4393001C 
000A89A0 
501B000O 
10014710 
41C007B4 
181207FA 
47F00760 
9501A001 
47100830 
70064710 
701647FO 
4710089C 
92000048 
508405B9 
20104710 
7006945B 
00444788 
OF 049459 
D2025001 
D200A000 
500A9101 
20014710 
47200A64 
D2017035 
700641EO 
41A050E0 
96067006 
201041E0 
200494FE 
OA 5491 10 
000748A9 
47800B10 
91207012 
91011001 
58C0506C 
004041EO 
920F0073 
43905101 
07FE910E 
47800D04 
1AA6487A 
00454780 
43900045 
04010044 
947F7006 
47800F16 
O0OC9498 
20OD478O 
47100F22 
470C0000 
00049180 
47800CA0 
0C9C0606 
47800B6A 






>0 
I 



K> 



OOODCO 
OOODEO 
000E00 
000E20 
000 E40 
000E60 
000E80 
000 EAO 
000 ECO 
OOOEEO 
OOOFOO 
000F20 
000 F40 
000 F60 
000F80 
OOOFAO 
OOOFCO 
OOOFEO 
001000 
001020 
001040 
001060 
001080 
0010A0 
0010C0 
0010E0 
001100 
001120 
001140 
001160 
001180 
OOllAO 
OOilCO 
OOUEO 
001200 
001220 
001240 
001260 
001280 
0012A0 
0012C0 
0012E0 
001300 
001320 
001340 
001360 
001380 
0013A0 
0013C0 
0013E0 
001400 
001420 
001440 
001460 
001480 



45E00E2C 
07FE4817 
98231004 
47F00D3C 
94AE7006 
47800D3A 
91040044 
91807006 
47400ED0 
92107016 
45E00EA0 
70069120 
20044780 
9640402C 
70124780 
96011003 
06F24867 
200041FO 
O7AC47F0 
C00458BC 
41B0D04A 
OBOOOOOO 
000004C8 
00003FFF 
00000000 
07001405 
OOOC0004 
00001F30 
60004780 
45EO0DEE 
47F051D8 
519647F0 
45E000EE 
0AF80ABE 
UFEOOOO 
00101216 
12781290 
0080FF88 
00010000 
10000808 
0080FF80 
00000000 
OOOOC700 
30008001 
0040FF88 
F2401081 
30008001 
0040FF80 
00000000 
00F1F9F0 
FFFF0AF8 
00000000 
0191000C 
028A0100 
0803FA38 



91805102 
C02891C6 
58420014 
47F00DD4 
4397G00B 
58A4C00C 
078891A0 
471CCF0C 
473C0B66 
92FF 7017 
41F0C010 
20C44780 
0F56957E 
40730012 
0F9C58F0 
41E00D3A 
C0C45460 
C00C4780 
0FF29601 
00044710 
50BCC048 
000CC001 
OOC04040 
FECOCOOO 
6000C001 
6000C006 
OOCCCOOO 

cococooo 

0810C7FC 
47F0515C 
48705256 
51BC0201 
47F051CC 
0E5ACAF8 
1134FFFF 
19CCC0C0 
12A812C0 
OOOCCOOO 
OOF OF OC 4 
15484000 
00400000 
OOCOCOCO 
OOCCCOOO 
15484024 
0181C006 
OOCCCOOO 
15484024 
01830006 
OOCOCOCO 
30CC2001 
COCOCOOO 
OOCCCCCC 
O10B010O 
FFFF1464 
OOCCCOOO 



47100DDC 
7006477E 
41800E20 
18E007FE 
58F9511C 
4AA2001C 
51024748 
41A70016 
9D006COO 
91100044 
4 7F0OCDE 
0020943F 
20049244 
D2011002 
507C05EF 
07FAO00O 
50A04180 
0CEA91C0 
700641E0 
D01858BC 
9C00A00O 
1548FFFF 
000003A2 
00000000 
2B0010C0 
1F0010ED 
00OOOF14 
000050A8 
41600200 
47F00048 
45E00DE2 
5212520E 
47F00D48 
09460E5C 
1206FFFF 
00000000 
12E81310 
ODOOOOOO 
10000802 
0080FF82 
66040010 
0080FF80 
00000000 
03000000 
09070100 
00000000 
03000000 
09090100 
00000000 
15300020 
6C000807 
00000000 
00F1F9F1 
FFFF0AF8 
OOOOOCOO 



800OAO02 
00041211 
91205102 
41A051F2 
58A05094 
50A4000C 
000494DF 
50A050B8 
47B00EC8 
47100EBC 
96402001 
402C910C 
20044780 
525C47F0 
47F05006 
00000000 
00D49120 
402C47E0 
0D0441D7 
000C48AB 
5000D046 
000004C8 
0000029C 
60000006 
60000001 
60C00001 
00000F14 
000050C8 
9F 006000 
48705252 
47F051D8 
41D0520E 
D201D004 
0AE40986 
113AFFFF 
00000000 
13401370 
80F0F0C3 
00000000 
OOIFOOOO 
00F0F4F0 
00410000 
00000000 
D3C703F0 
00F1F8FI 
00000000 
E3C1D7C5 
00F1F8F3 
00000000 
00C80000 
FBOOOOOO 
00000000 
30002001 
00000000 
00000000 



80000078 
474E0004 
47800810 
5060509C 
05EF4817 
47F00CDA 
700645C0 
920450B8 
910F0045 
91207006 
47F00D3A 
402C4780 
0F569241 
0F9C9102 
47F00F0E 
41500800 
20004780 
0F3641F0 
002847 FO 
000441 BO 
8200D042 
000011E0 
00002EB4 
03000000 
080059C0 
0803F700 
00000F14 
0B240AAA 
47800810 
45E00DE2 
0201520A 
48105212 
100058E0 
0E74L156 
00000000 
00000000 
13 AO 1304 
10000801 
0080FFB8 
04030004 
10001003 
66050010 
0040FF88 
F0FU801 
30008001 
0040FF88 
F3401001 
30008001 
07000700 
F1F1FIF1 
1A000000 
00000000 
15300020 
45000602 
00000000 



47000000 
48710002 
45C00738 
4390509E 
001447F0 
91047006 
07384 1E0 
41A050B8 
47700B9C 
47800D3A 
07FE9106 
0F729130 
200441E0 
20004710 
47F00F9C 
1A5592A0 
0FDE91C6 
001047FO 
0ADA58B0 
07FF14AB 
00000000 
0000026B 
000004EO 
20000006 
OOOOOOOF 
C20 10000 
0O0OOF14 
1B6647F0 
07FC4100 
47F05108 
520641D0 
41E051AC 
50F807FE 
8000 116C 
11480704 
00000000 
143C14A4 
15540000 
000E8000 
00F0F1C6 
00000000 
00F0F4F1 
01800006 
00000000 
15484024 
01820006 
00000000 
00000000 
0040FF8E 
FIF10801 
70000005 
00000000 
0OC800O0 
00000000 
00000000 



45E00E2C 
91C47006 
41C00E28 
89900002 
0CA807FE 
071E9106 
0D0448A7 
50A00048 
91020044 
D2012002 
70064740 
20004770 
0FF29102 
0F7E9640 
47F00E96 
51025821 
700647F0 
0CEA9248 
001058CB 
9OO0AO00 
01060000 
000029AA 
00001530 
040012A6 
07001405 
00001196 
0OO0OF14 
08104160 
51FE181D 
48705254 
52064810 
47F051BC 
48110000 
400011A6 
00000000 
OOOCOOOO 
1508FFFF 
0080FFB0 
07020000 
10000820 
OOOOC700 
10001003 
09060100 
OOOCOOOO 
03000000 
09080100 
OOOCOOOO 
00000000 
0190000C 
03B60100 
0803F478 
07000700 
F2F2F2F2 
1AO0OOOO 
OOOCOOOO 



•AGE 0005 
48EA0000 
077E180E 
47F007A6 
1AA907FE 
91207006 
700607BE 
002E07FA 
9C 006000 
47800EE8 
701607FE 
0D5094D9 
00B09120 
2C00071E 
402C9120 
5 8A 05094 
000445C0 
079C9104 
20044180 
00649180 
4770D022 
OCOOOOOO 
00004D38 
OOOOOOOE 
2 0000006 
20000006 
80002000 
00OOOF14 
01009F00 
48110000 
45E00DE2 
520A41E0 
50E050F8 
47F000E6 
2000FFFF 
00000000 
00001260 
12520000 
00000000 
40F0F0C5 
15540000 
00000000 
00000000 
O0F1F8FO 
00000000 
E3C1D7C5 
00FIF8F2 
00000000 
00000000 
010A0100 
FFFF13FC 
00000000 
0040FF84 
F2F20800 
70000005 
00000000 



Q 



I 






0014A0 

0014C0 

0014E0 

001500 

001520 

001540 

001560 

001580 

0015A0 

00 15C0 

001560 

001600 

001620 

001640 

001660 

001680 

0016AO 

0016C0 

0016E0 

001700 

001720 

001740 

LINES 001760- 

0017A0 

0017C0 

0017E0 

001800 

001820 

001840 

001860 

001880 

0018A0 

0018C0 

0018E0 

001900 

001920 

001940 

001960 

001980 

0019A0 

0019C0 

0019E0 

001A00 

001A20 

001A40 

001A60 

00 1A80 
001AA0 
001AC0 
001AE0 

001 BOO 
001B20 
001B40 
001B60 
001B80 



07000700 

E3C5E2E3 

00000000 

00000000 

0O00C70O 

FF0091D8 

156C1304 

00000000 

FFOCOOOO 

15CC0000 

00000000 

FFOOOOOO 

162C0000 

00000000 

FFOOOOOO 

168C0000 

00000000 

FFOOOOOO 

16EC0000 

OOOOOOCO 

00000000 

00000000 

001780 SAM 

05E01840 

E0445830 

000047FO 

4740E064 

40008008 

001441FF 

5880202C 

1011E146 

00249110 

12880780 

00080000 

10004140 

88400001 

00000000 

0024581F 

E01C58C2 

4710E0AE 

1842182B 

802850A5 

9640C00B 

50120070 

A068B010 

E2029140 

D71F1000 

41300156 

58240060 

OAOA0502 

02071010 

41110060 

OA0A18F7 

80000048 

920C5009 



0040FFC0 
E5D3CO00 
OOCCCOOO 
COOOCOOO 
OOCOCOCO 
OOC091FC 
FFC3FC5C 
159C00C0 
OOCOCOOO 
FFOCCOOO 
15FCC0C0 
OOCCCOOO 
FFCCCOOO 
165C0000 
OOCOCOCO 
FFCOCOCO 
16BCC000 
OCCCCOCO 
FFOOCOCO 
FFFFCOCO 
C0CC0020 
OCCCCOOO 
E AS ABOVE 
18514155 
20241233 
E0241873 
O7FD91C0 
4780E08E 
C0C0155F 
4500E11E 
50501014 
300A4710 
9180800B 
80CCC028 
00805540 
47F0E014 
COOCCOOO 
00001299 
002C12CC 
50C2OO2C 
5873004C 
0014D203 
D2CFA060 
4110E154 
41E3C050 
C00B4780 
10CCD2C7 
1FE35830 
914020C0 
406DE208 
4068D202 
41230050 
072710CO 
80CCC0A8 
4120506C 



0192000C 
00010100 
CCOOOOOO 
0020FF80 
00000000 
15301290 
C0002EE8 
FFOOOOOO 
15B40000 
OCOOOOCO 
FFOOOOOO 
16140000 
00000000 
FFOOOOOO 
16740000 
00000000 
FFOOOOOO 
16D40000 
00000000 
FFOOOOOO 
00000000 

ocoooooo 

00005820 
4720E030 
41770020 
300A4780 
58808000 
4 780EOBO 
5800E142 
58820024 
E1149610 
071DD507 
04E000OO 
E04A4780 
44406 046 
05E05830 
4780E038 
4780E06A 
186F1B00 
05870000 
50100060 
F00850C2 
501A0014 
18FA980C 
E0AE91C0 
10OOCO0O 
00105863 
4 7 1 OE 1 8E 
4780E1E2 
101D401D 
90124054 
1C0007F8 
15400204 
50204004 



010C0100 
FFFFFFFF 
00000000 
02E00000 
000050E8 
FF03FC30 
15780000 
00000000 
FFOOOOOO 
15D80000 
00000000 
FFOOOOOO 
16380000 
00000000 
FFOOOOOO 
16980000 
00000000 
FFOOOOOO 
16F80000 
00000000 
00000000 

oocooooo 

00105820 
41F0000C 
15574780 
E07241F0 
47F0E076 
41F00014 
4510E0CE 
41920024 
300A5013 
40008000 
00000000 
E0364440 
4780E044 
00105823 
41C90008 
D202202D 
4510E066 
91F0A00A 
58A30088 
00005800 
0203A010 
F020500F 
C00A4780 
D2021009 
00005866 
50F20000 
5800E21A 
5014001C 
58040020 
5810E20E 
E0020000 
071F2000 



00F1F9F2 
FFFF0AF8 
00000000 
65000210 
15541304 
1003FC84 
FFOOOOOO 
159COO00 
00000000 
FFOOOOOO 
15FC0000 
00000000 
FFOOOOOO 
165C0000 
00000000 
FFOOOOOO 
16BC0000 
00000000 
FFOOOOOO 
00010000 
00000000 
00000000 

20005822 
0A034133 
E064074D 
00100A03 
91E08012 
0A0341F0 
0A0AD727 
90891000 
00181BFF 
4780E096 
05E05830 
E0464780 
D2032000 
00005822 
D507C000 
C01DD507 
0A0A18F6 
47C08010 
07FA1824 
E2 1645 10 
0060D202 
002458FO 
E05E187F 
E221D202 
00045846 
947F2000 
4580E1F0 
D23F1020 
IB11D202 
OAODOOOO 
05605820 
200058A0 



30002001 
00000000 
00000000 
00F2C5F0 
FF03F73C 
153C13D4 
00000000 
FFOOOOOO 
15C00000 
00000000 
FFOOOOOO 
16200000 
00000000 
FFOOOOOO 
16800000 
00000000 
FFOOOOOO 
16E00000 
00000000 
00000000 
00000000 
00000000 

00045830 
000845D0 
48703008 
58802024 
4710E09C 
00040A03 
10001000 
12884780 
0A03D203 
588080 IC 
00105830 
E02ED203 
300C0A03 
000458A2 
10004780 
C00C1000 
020 7A 060 
58108 18E 
98AF5068 
EOCCOAOA 
OOOOCOOO 
000C8200 
5800E212 
100DC00D 
0000D502 
96402000 
02021009 
40201BFF 
6071405D 
0003D400 
40045890 
20005010 



00000000 
00000000 
00000000 
30001002 
00002EE8 
FF005598 
15840000 
00000000 
FFOOOOOO 
15E40000 
00000000 
FFOOOOOO 
16440000 
00000000 
FFOOOOOO 
16A40000 
00000000 
FFOCOOOO 
17040000 
00000000 
OOOOCOOO 
00000000 

20005830 
E0444B30 
89700003 
12884760 
41F00008 
58802000 
02071008 
E0FC5018 
10203018 
41880000 
30005830 
2000E04E 
91001008 
000058BA 
E1105899 
4770E05A 
F00090AF 
OA 00 50 A 5 
50AC001C 
18D1D202 
02040008 
000891FO 
4510E132 
18C147F0 
4061E208 
410C0048 
E21ED202 
50F 10024 
0A03187F 
80406000 
50 IC 1222 
200094F0 



PAGE 0006 
00000000 
00000000 
OOCOOOOO 
00000000 
15601304 
00005 SBC 
FFOOOOOO 
15A 80000 
00000000 
FFOCOOOO 
16080000 
00000000 
FFOOOOOO 
16680000 
00000000 
FFOOOOOO 
16C 80000 
00000000 
FFOOOOOO 
00000000 
00000000 
00000000 

301C45D0 
E13E5833 
1A731557 
E0B60 507 
OA0358F8 
45D0E11E 
40000202 
00045012 
47F0E10C 
47F0EUE 
30045820 
41220004 
00000002 
001C5892 
00004 7F0 
91 IOC 006 
A068185A 
00704 1A0 
9200COIC 
A0502071 
B0100204 
C00A4710 
OA OA 1 8F 7 
E0AE05E0 
4780E18E 
58140024 
100D406D 
58F1000C 
4510E1F6 
80000020 
47706020 
90140600 



T3 

Q 



NO 

I 



CO 



001BA0 
001BC0 
00 1BE0 
001C00 
001X20 
001C40 
00 1C60 
001C80 
OOICAO 
001 CCO 
OOICEO 
OOiDOO 
001D20 
001D4Q 
001D60 
001080 
OOICAO 
001DC0 
OOIDEO 

ooieoo 

001620 
001E40 

00 1E60 
0OIE80 
OOIEAO 

001 ECO 
001EE0 
001F00 
001F20 
001F40 
001F60 
001F80 
OOIFAO 
001FC0 
OOlFfcO 
002000 
002020 
002040 
002060 
002080 
0020 AO 
0020CO 
0020E0 
002100 
002120 
002140 
002160 
002180 
0021AO 
0021C0 
002 1E0 
002200 
002220 
002240 
002260 



90141000 
02091008 
00040040 
00001211 
E03842B1 
0004100D 
90AB0020 
40003338 
47B0B18A 
58410000 
B0731B88 
4720B0BA 
50960000 
1BFF47F0 
B0641288 
B20691C0 
B0D89120 
080B91C0 
119C4150 
07F658E0 
41500007 
47C0B1C2 
4780B1EA 
5E270004 
04CC91A0 
58C00OIO 
03474770 
89 10000C 
00F147F0 
94F7C080 
C9C5C5C1 
00000001 
000050F0 
00000000 
00508AAO 
F0365810 
41100020 
F09A47B0 
00030040 
18C041CC 
4770F03E 
4780F06C 
00000200 
00000000 
58600050 
10045045 
05F05860 
00009106 
F09C9110 
50110068 
F19A5871 
10004710 
OOOC47F0 
F18E1882 
4E60F116 



181A1BFF 
6030D6C0 
C0CC0O20 
4770E01C 
001412BB 
4A01C010 
91F09012 
C00CC3A2 
92F0B087 
4560B120 
1B771222 
47C0B0B4 
91C01008 
B1D21886 
4780B0EC 
100847E0 
100847EC 
10084740 
00C71A25 
100858F0 
14544770 
18871873 
1222078A 
187847F0 
70104750 
58CC0034 
F03C58BC 
5610F05A 
F02CCOOO 
07FE9180 
E305E7E7 
C0005194 
7000A9D2 
0A220A03 
00011F0A 
303807FE 
920AF099 
F056970C 
024AE062 
00009180 
9120C01D 
D203000C 
D010B01C 
COCCCOOO 
8A60C001 
00045054 
00501266 
100047C0 
10C04780 
1B775071 
000C1867 
F0F05840 
F0AA5870 
968010C0 
96CFF11D 



80FF6037 
1011401C 
FF050000 
41FF0004 
077C95E0 
89000003 
071C5819 
FFFFFFFF 
92F06 0ED 
91C01008 
4770B0C4 
1F921843 
47E0B0A4 
47F0B0C4 
18585835 
B1105861 
B20641F0 
B2044780 
16251725 
05B04140 
B2084144 
58330000 
15544780 
B1D65853 
B11841E0 
07FC0000 
0000D207 
58D0F056 
0C002070 
C089071E 
0104400C 
0003FF30 
00000004 
0C001F60 
5E090008 
18B088B0 
1BAA50A0 
F09947FO 
00000006 
C01E4780 
4770F066 
0024D202 
9200B01C 
00000000 
13665E60 
00089680 
07A25850 
F03C1861 
F078D203 
C0181871 
5F 60F 1 8E 
FUE1881 
F1921277 
4520F12A 
D2035038 



OA030000 
58F5005C 
00000000 
07FCD507 
1012078C 
D207E08A 
00201211 
00001BF2 
47F0B03E 
4710B044 
189E5837 
18821F2A 
50860004 
15A747D0 
00001865 
00005866 
00044 7F0 
B1405824 
41220000 
01781FB4 
00001883 
12334770 
B1F85034 
00041E25 
03A25800 
00000000 
B0100028 
07FD4110 
800C0000 
9140F03B 
00001FC4 
00005978 
000058D4 
00000180 
4730F026 
00015CA0 
F09618CA 
F0568800 
00180000 
F02A58D0 
501C0010 
0025F09B 
D203D00C 
00002110 
F1061366 
10005550 
00105810 
41101060 
1008F126 
41110060 
1E665E60 
58880004 
47A0FOD4 
182847F0 
FUAD203 



98016034 
50F10014 
05E01BFF 
B0001008 
91401013 
00205010 
078C47FO 
05B01820 
05B04140 
129947A0 
000047F0 
10225833 
4 7F0B0A4 
B0C4187A 
58A30004 
00001576 
03A25821 
00049101 
587004CC 
58410004 
41624000 
B1A61B55 
00005024 
50230004 
04CC181C 
05F058C0 
D21FC030 
00F241E0 
58C00010 
071E9680 
00040022 
00000010 
60005676 
05F05890 
5500 F086 
F08E5DA0 
8CC00004 
10001800 
05F047FO 
F0264100 
9621C010 
92000022 
BO 140202 
OAOOOOOO 
5E61000C 
F0420762 
F19A9867 
187F1B00 
D2021001 
13115850 
00505060 
95FF800C 
IB7747F0 
F07CD203 
100CF122 



0A0A0203 
50E50058 
98CDE092 
4770E00C 
071C98AB 
E0860A0A 
E0444111 
41C0080B 
00201FB4 
B04C9200 
B08658A3 
00001876 
18195037 
18561863 
41423000 
4740B110 
00005891 
002147E0 
58370018 
4560B120 
47F0B1B4 
15784780 
00045047 
07FA06C0 
89100008 
04CC91F0 
01FC4810 
03A247F0 
58CC003C 
C0894110 
4000 1FC6 
000059F0 
0003FFB8 
30585809 
4740F02A 
F092180B 
4B10F060 
47F0F030 
FOOAOOOO 
0F0107FD 
580C0018 
98010418 
B015F09B 
00000000 
4730F020 
41F0F048 
10045067 
0A0218F7 
1065D203 
50040 5E5 
00505070 
4780F0C4 
F0D61E74 
F11A5038 
47F0F0E0 



101C501C 
98015020 
18B 04114 
1BBB43B1 
100050AB 
05E0989E 
0003F5B8 
18904560 
9200B087 
B07347F0 
0004419A 
4700B0A2 
00001B55 
58330000 
189347F0 
122 74780 
00088990 
B1501299 
41330000 
58440000 
58530004 
B1D21567 
000007FA 
06C006CO 
43100023 
025F4770 
002A41E0 
F02C41E0 
9108C080 
F0901311 
00000000 
0003E3A4 
0000585E 
00005E09 
5E00F08A 
8A I 00001 
12BB4780 
C612213B 
00001F60 
00001016 
9200026B 
98ADF08A 
47F0F066 
05F09180 
IB665061 
47F0F07C 
00045076 
181647F0 
100C101C 
18179683 
F18E47F0 
5878000C 
5070F192 
4F60F116 
00000000 



PAGE 0007 
5015001C 
0A030700 
00245811 
001487BD 
000050BA 
E01E1BFF 
FF040009 
B1401241 
9200B0ED 
B05092F0 
3000152A 
58610004 
41A0BUC 
12334760 
B07A4700 
B05047F0 
000841CO 
4740B20C 
58E30004 
4 1A OB 11C 
1E531554 
4730B20A 
50380000 
06C05870 
8910000C 
F04891F0 
0460180C 
029C4110 
4780F016 
07FA9260 
000052A8 
00000001 
50002 50A 
000458AO 
12114760 
4780F030 
F07C4910 
39EDDEC5 
90A0F08A 
9180C010 
91F00347 
07FE58BC 
00000000 
10000782 
000C9845 
000022F8 
00085871 
F 0784 740 
5071006C 
10005810 
F0009101 
IF745078 
1B775070 
41660001 
00000000 



-o 

Q 



I 






002280 
0022A0 
0022C0 
002260 
002300 
002320 
002 340 
002360 
002380 
0023A0 
0023CO 
0023E0 
002400 
002420 
002440 
002460 
002480 
0024AO 
0024C0 
0024EO 
002500 
002520 
002540 
002560 
002580 
0025AO 
0025C0 
0025E0 
002600 
002620 
002640 
002660 
002680 
0026A0 
0026C0 
0026E0 
002700 
002720 
002740 
002760 
002780 
0O27AO 
0027C0 
0027EO 
002800 
002820 
002840 
002860 
002880 
0028AO 
0028C0 
0028E0 
002900 
002920 
002940 



3184884F 
00011F45 
58650008 
5040D06? 
00002 2FC 
00002308 
F04C9183 
000C4730 
07FE20E0 
869AF03A 
4780F050 
F08E5890 
47C0F07E 
58 10F162 
052298F5 
20005020 
50 12000C 
96102000 
58203068 
729FD338 
0000213E 
43210000 
07FE0103 
2A282C2D 
02003600 
1CB0OOIE 
003BA100 
OOOOCOOO 
OAO0E007 
06816007 
06C 16007 
00000007 
O0O758A0 
C04858F0 
92C0100A 
1EAA5EA0 
880C0003 
15E8A780 
O0O00D24 
0418940F 
983D403C 
C14E94EF 
40680014 
4770C178 
0003181A 
04600503 
980F5020 
024C58B0 
41E0C0CE 
5810BOOO 
4770C208 
07FA0000 
00000000 
OOOOOOCO 
0A0307FE 



C612213B 
4740D048 
90561004 
1E665060 
COCCCOCO 
C612213B 
A0CO4710 
F0361B00 
9240E001 
F2715060 
5910F15E 
305858DC 
47F0F084 
58240078 
A06047F0 
91C3502C 
58D50020 
A1CCC048 
05229106 
00989680 
0000211A 
5051C0C0 
C4050607 
2E2F0212 
C000C037 
080029E1 
3FC7C03F 
0BC258C1 
0B414761 
02C059C1 
0B4241E3 
00000007 
024814BA 
40189602 
9262100B 
C0D45860 
41BCC7FF 
C0BC18A5 
00C025E4 
0347D502 
82CCC020 
A00A58B0 
94BFA00B 
9602A00B 
0ACA91D0 
COOCOOCO 
0A03910C 
C0D0186A 
58D0A0C0 
5010A018 
D23F4030 
0003FFFF 
00001108 
C0C02070 
00002EB4 



0C0E400C 
5E400062 
50150008 
C0504 7F0 
04000000 
00002318 
F00A5890 
12114780 
05F 09130 
2C004F05 
4 7D OF 046 
C0508ADO 
15DA4740 
91802000 
F0D09110 
4780F0F2 
AiDDOOOO 
55002064 
AC004 7CE 
0083D5FF 
05F01200 
42210000 
08090AOB 
13001415 
1A000000 
0O2 9E100 
81C018F1 
0241DFF1 
06C048E9 
0B41C6D9 
00805401 
00000007 
17AB41B0 
40105810 
D23F1020 
A0004260 
14BD17DB 
0586C00E 
0C002B8E 
00250060 
18A558DA 
A0184100 
15D 44770 
9122A00B 
D00A4710 
4780C19E 
A0OB47BO 
058B18C4 
91010021 
950CA009 
A02047F0 
0A2B07FE 
00002 8CE 
0066280F 
000022F0 



05D09180 
5041000C 
50160004 
D01E02 94 
00002318 
FFFFFFFF 
30585800 
F04C9283 
502047C0 
00605CC9 
5810F15E 
000113DD 
F0861FDA 
4710F0C0 
200047C0 
4710F0EE 
12DD4780 
4740F132 
00004110 
C612213B 
078E92FF 
96801000 
0C0D0E1C 
16300217 
0000001B 
29E1001B 
0017A100 
0242C171 
04805DB2 
01411BA6 
09C 16007 
00000000 
B00BU1B 
F0044110 
40305050 
024B4800 
88000003 
9610500A 
002F0500 
4770C118 
001C91C0 
B0089220 
C1689640 
4780C196 
C1B218F4 
9201024B 
C2285810 
58C00244 
4770C224 
47C0C24A 
C1541299 
00000000 
00003E64 
00005 OFO 
00OO3CO0 



10000782 
4150 D06A 
947F1000 
3184884F 
000022F8 
05F058A4 
00 508A00 
A000181A 
F0321821 
F1621E1D 
5C00F156 
5ED90000 
1F104730 
90F55060 
F0D09140 
96862000 
F13250D2 
111018AF 
A060D703 
00057E40 
002058BO 
1B66506B 
0F10101E 
18190231 
0006EOOO 
F0001C90 
194E003F 
08806007 
04 CO 0261 
01421E1E 
06C0D399 
47A0C06A 
IE111EU 
10 201 BOO 
101C5010 
00224520 
40 BO 10 18 
98015020 
F3F0F5C1 
58E04004 
AO0A474O 
B0120A09 
40101B11 
4740C18A 
9809 FO 30 
185D4520 
AO 184870 
18A61217 
92000020 
0203BOOO 
4770800A 
000004C8 
00003E18 
00005238 
00005218 



5841000C 
58550004 
07F21255 
00000000 
3184884F 
007812AA 
00011300 
5820F1CE 
1B991B11 
41220002 
5D0OF15A 
5ED90004 
F08E1E1A 
18A51812 
200B4710 
47F0F0F6 
001C58A0 
0A0A18FA 
A060A060 
00001770 
F02E9140 
000007FE 
111F2021 
02320200 
25400025 
001F0000 
1F0O2330 
09416007 
0440DEC1 
0C424491 
00000007 
4120C0C0 
41011000 
5000F000 
40001851 
C00845F0 
40B0101A 
98DF5054 
000032AB 
9200E00O 
C1D64770 
58B0B020 
06100AOO 
02334038 
0217F030 
C00E18A0 
10005070 
4780C254 
82000020 
A06050BA 
589004CC 
000004E0 
00001216 
00005250 
00005228 



18645850 
5545000C 
4740D01A 
OOOCOOGO 
45000000 
4760F010 
5E09C000 
58F0F1D2 
41A00004 
47F0F016 
1E119140 
5ED9C008 
5510F162 
5820F176 
F1549240 
96882000 
501CD203 
50102064 
410C0001 
00000064 
1000077E 
000004C8 
22232425 
00330234 
080029AG 
1BB10018 
00238000 
04405EE1 
03405C07 
01815A01 
C0000007 
D2075010 
13000A0A 
50A0100C 
07F24BA0 
06D01806 
900E1000 
586050 OC 
58C00244 
9802E008 
C1549510 
12BB4770 
50D04000 
502 84800 
F0589001 
58B0C0D8 
A0189823 
58F0A00C 
4780C254 
00601201 
55708016 
00O02E78 
00001226 
00001016 
000022 8C 



•AGE C008 
00508A5O 
47200 026 
5E400062 
00002308 
00002320 
IB0047F0 
13005EOA 
05221810 
4 IB 00010 
58110000 
50204780 
58A0F162 
4740F09A 
58F0F17A 
20000400 
96802000 
2010A010 
181218A2 
0A0107FE 
OC000001 
9601501C 
00000000 
26272829 
0C000235 
00275800 
75000FB0 
3FAF0000 
OA006007 
0380DBC7 
0B805CF9 
0C0O00O7 
002041BO 
12FF4780 
40B01008 
025C1EAA 
9869C0D8 
50901 OOC 
05E60A03 
D23F4030 
50D00024 
A00A4770 
C13A0203 
91E0A0OA 
A0088900 
F04847F0 
O58BO0OE 
10045850 
50F00024 
58BOA018 
58101C04 
072A1B77 
00003AE8 
000006B2 
00002B8E 
0000213E 



-a 

Q 



i 



N 

Oi 



002960 
002980 
0029A0 
0029C0 
0029E0 
002A00 
002A20 
002 A40 
002A60 
002A80 
002AA0 
002AC0 
002AE0 
002B00 
002820 
002B40 
002 660 
002B80 
002BA0 
002BC0 
002BE0 
002C00 
002C20 
002C40 
002C60 
002C80 
002CA0 
002CC0 
002CE0 
002D00 
002D20 
002D40 
002 060 
002D80 
002CA0 
002CC0 
O02DE0 
002E00 
002E20 
002E40 
002E60 
002E80 
002EA0 
002EC0 
002EE0 
002FOO 
002F20 
002F40 
002F60 
002F80 
002FA0 
002FC0 
002FE0 
003000 
LINES 003020- 



00001712 
00000402 
05F018A0 
4780F02A 
18761863 
501A2014 
A00B4770 
A01D501D 
9680A008 
30544580 
200B4780 
00034112 
47F070F0 
710C47F0 
30555005 
000090BC 
5O21A00D 
AO00C000 
00041BEE 
10090A04 
600D026B 
87997228 
00001200 
601874AC 
743E8799 
72A641C0 
180C1A00 
AOOOAOOO 
4A007294 
7328D202 
60270202 
50B60010 
A0186035 
748005EF 
88900001 
478073E8 
742E9110 
0A0A4780 
010041EE 
000C5610 
00003730 
75BF767F 
00008000 
OOOOOCOO 
00002EE8 
0F002EB4 
00002F34 
00000016 
08002F58 
9E002FBF 

ocoooooo 

62000211 
80003828 
00000000 
0030CO SAME 



0CC03B64 
OOCCCOCO 
18B147F0 
58OBC000 
5825C01C 
47807092 
703041B3 
41AAC0CC 
947F500B 
71C6C008 
70CA968C 
COCOOAOA 
4580718C 
704E1OF0 
477C714C 
A00050AB 
92C05020 
078856BB 
18634898 
92801009 
92F0026B 
98015060 
47A0725E 
41060018 
73549102 
002C1BD0 
1A0B1BAA 
49C07298 
06008800 
60014029 
602AA0C0 
D2C26001 
50507484 
982A61DC 
47F07384 
961OA0OB 
60324780 
742E4100 
01C041EE 
74B01963 
0003FBC8 
7CFF2C7F 
0CCO2EAC 
0FC02E78 
12CCC0C0 
04003A88 
FFCCC001 
1100COOO 
OOCCCOCO 
A0CCC008 
40C02F58 
00000000 
OOCOCOCi 
OOCOOOCO 
AS ABOVE 



0CC01530 
CC0029AA 
F0124700 
9400D01C 
1BEE9507 
4580718C 
005050B5 
50A5001C 
98015020 
96D0A00A 
500B943F 
9110200A 
47F07112 
540074B0 
92107151 
000450AC 
47F07088 
00004 7F0 
00004899 
58607488 
47F07210 
18B0D227 
47F07282 
902A61DC 
60324780 
91206032 
581074B0 
477072FO 
00038799 
91016028 
02096032 
30558000 
58B074 7C 
1BEE12FF 
9610A00A 
91FF600C 
74164116 
74B81B11 
010041EE 
4780747A 
0003F6CO 
0700C350 
12000000 
04003A88 
00000000 
C00013D4 
FF03F8D8 
O0OOCB78 
08002F78 
06000000 
00002EB4 
00000000 
40002D84 
OCOOOOOO 



PA 



00001068 
00000000 
F00A4190 
50AB0000 
20134720 
47F07036 
00589640 
D202A015 
58F5005C 
47F0706C 
200B41B2 
47807104 
458071C6 
160F9001 
458071C6 
000041AA 
58C50000 
71940570 
74968990 
12FF8799 
9200600C 
601CB000 
800073AB 
58B3005C 
744258B6 
478072BC 
879972DA 
96F0A00A 
73100600 
47807336 
74AAD203 
736B8799 
D707B000 
4770745A 
58B0747C 
47807402 
000OD2OI 
0A088799 
010041EE 
91FF600C 
00000200 
00010024 
00000000 
C000143C 
00000000 
00000060 
0003F8D8 
OOOODOOO 
60000005 
20000100 
00000000 
00000000 
00003730 
00000000 



000052A8 
00000180 
00081BF9 
9640 BOOO 
7126D207 
45807 1C6 
A00BD201 
A00DD203 
0A0318A2 
91C0200A 
00009120 
58BB0018 
00069 IEO 
50004580 
00109620 
000843BA 
58B40024 
41B00 1B0 
00104110 
71F64770 
41B6001C 
8799723A 
8799733E 
41060040 
003488BO 
43060031 
41A00008 
1ACA50C6 
400A0008 
02026001 
6035A018 
73920203 
B000902A 
800073B1 
D207B000 
D200026B 
600E7546 
8002581A 
00FE41EE 
4780747A 
00002E68 
80000000 
00000000 
00000042 
00000000 
0000006C 
00000000 
00060010 
9E002FBF 
7F000000 
00000000 
00000000 
FFOOOOOO 
00000000 



00003740 
0003FFFF 
9140BOOO 
947FB000 
500OF0O0 
000291E0 
A0105018 
505CA014 
91D0200A 
47707456 
200A4710 
12BB4780 
A00A4710 
718C47F0 
A00A4BA0 
000C41BB 
12BB4788 
1B7B5830 
748C8799 
74464780 
50B60008 
D203A004 
58130054 
05EB982A 
00084 ICO 
41000003 
1A0A5600 
00041ACD 
D207A000 
30098000 
41B078C8 
A000602A 
610C4116 
87997306 
A0000202 
600D9130 
0A3D9120 
001841F0 
010141EE 
0200026B 
208045FF 
00000000 
00000000 
000000B9 
00000000 
00090082 
C9C7C7F0 
00F00019 
A0000008 
02000000 
00000000 
00002F34 
00000000 
00000000 



00000460 
000028E8 
4710F032 
1B9907FE 
D2015018 
AOOA4710 
0200A014 
9180500B 
47CC70BO 
02025010 
71044802 
7104410B 
744E9140 
71729204 
729441C4 
000142BA 
000441AB 
00105843 
71E28799 
720C4160 
8799724C 
60208000 
D207601C 
D19C1BEE 
00109108 
88000001 
74B00A0A 
50C60010 
601C9102 
73AB47F0 
87997360 
0200A003 
00004136 
59507484 
A0006015 
60324770 
60321816 
773805EF 
0101411E 
6000 OA 00 
40FF063F 
C9C5E6E2 
00000000 
000904BO 
01000000 
00002EB4 
F1F9C3C6 
31002FB7 
060 3F 808 
7F002F90 
62000211 
0003F8C8 
00000000 
OOOCCOOO 



GE 0009 
0C0011FE 
OCOOOOOO 
9180B000 
OOOOOCOO 
2010D200 
744E9140 
501A0202 
47807088 
D2035004 
201D9180 
00088900 
G0080A09 
A0OB471O 
7151D502 
002458BC 
00OCD2O2 
00080507 
00005844 
71FA9200 
75380200 
98015000 
73AB5016 
A 0000203 
12FF4770 
60324770 
89000003 
1AA1D71F 
92FF6010 
60284780 
73929200 
41B07738 
60270203 
004058FO 
478073C8 
91C 06032 
744A47F0 
5800748C 
0A0341EE 
01068910 
0C00274C 
4DFF6B3F 
E906E5D9 
01000000 
00008000 
00000000 
0003F808 
00000000 
60000005 
OOOOOODO 
00002F80 
00000000 
OOOOOODO 
OCOOOOOO 
00000000 



T3 
Q 



> 






0030E0 

003100 

003120 

003140 

003160 

003180 

0031A0 

00 3 1 CO 

00 31E0 

003200 

003220 

003240 

003260 

003280 

0032A0 

0032C0 

0O32EO 

003300 

003320 

003340 

003360 

003380 

00 3 3A0 

0033C0 

0033E0 

003400 

003420 

003440 

003460 

003480 

0034A0 

0034C0 

0034E0 

003500 

003520 

003540 

003560 

003580 

0O35A0 

0O35C0 

0035E0 

003600 

003620 

003640 

003660 

003680 

0036A0 

0036C0 

LINES 0036E0- 

003720 

003740 

003760 

003780 

0O37AO 

0037C0 



00000000 

0003FBC8 

58800010 

9140A000 

58280070 

F072910C 

957EA004 

4710F136 

9620D02C 

05CF1A0A 

580A0014 

0A0F0A03 

0008000A 

A00C41D0 

00080001 

C3C9455D 

41440020 

0207D176 

9108BOOO 

58330000 

47F0C0A4 

19234780 

47F0C0C8 

01189857 

181D0A0A 

00081B98 

5450C3B2 

404D0146 

00021897 

0144487D 

47F0C1A4 

D171D276 

OC05D17C 

07F40204 

F364D184 

013C585D 

C1FA47F0 

12774780 

C30A455D 

506D0154 

48800148 

194147A0 

18674690 

515CF0F1 

D3C9D5C5 

40E3D640 

000092F4 

00000000 

003700 SAM 

OOOOCOOO 

18D90540 

41103038 

30044388 

3028181D 

43104308 



OOCCOOOO 
CCC02F18 
9624A0C0 
4780F038 
1BDD43D7 
A0C2475C 
4770F13E 
9610A0C8 
124447C0 
IB08170E 
943FD02C 
41DCC0FE 
0AC39102 
000947F0 
OOOACCCO 
00605843 
02C6D176 
C3E64190 
4710C08E 
12334780 
588AC004 
C0FA5923 
18825A88 
D1581255 
18F80A03 
4550C162 
19584780 
4050C144 
4550C3CE 
01481277 
588D013C 
D172D171 
C2A8D20D 
D177C3B6 
2CCCDC05 
C13C5B50 
C1A4487D 
C2F44540 
00604880 
41600184 
8880C0C2 
C382F384 
C346504D 
F2F3F4F5 
E240E2C1 
C1C2C505 
F0FIF97F 

oocccocc 

E AS ABOVE 
00CCC000 
96C3303C 
50103040 
D2CF3028 
46104070 
C0C71857 



00000000 
CC002 9E0 
91C0A000 
504A0018 
00094CD0 
F136189F 
94FEA000 
CA0F0AC3 
F0B44144 
192C2F16 
94OAA000 
58E8002C 
A00C4710 
F17E9601 
05C09240 
00004133 
C3DF4190 
C0084180 
588B0004 
C1505823 
19834720 
00004780 
0004598A 
4780C132 
1B88589A 
47F0C112 
C1881878 
12554770 
455D0060 
4780C1EC 
489D014A 
487D014A 
D182C3BB 
F364D17D 
D184C2A8 
C3AED51F 
014A4177 
CIFA488D 
01440680 
1876584D 
1B981288 
D14C4000 
013CO7F5 
F6F7F8F9 
D4C540C1 
C 4D 9C 5C 7 
0003FCC0 
00000000 

00000000 
5030304C 
D7013058 
438DD203 
58750010 
45C042 3E 



00000000 
80002B30 
4710F13A 
9601A000 
F14A1A2D 
58F80044 
927FA004 
957EA004 
0008504A 
94DFA000 
9200A008 
07FE9601 
F17294F7 
A00896 04 
01701832 
00185833 
00084180 
00004160 
589B0008 
00001222 
C0D01893 
C0EC5833 
000847A0 
IB 754 100 
00084550 
505D0164 
1B75407D 
C1C64870 
47F0C1AE 
1B884060 
06908990 
06701277 
455D0060 
20000C05 
D20D018A 
50006000 
0001407D 
01441288 
40800144 
013CF363 
4780C34E 
DC07D14C 
D203014C 
C1C2C3C4 
E240C1C2 
40F060F7 
000052A8 
00000000 

00000000 
50703050 
30584110 
30143004 
41770000 
45C04230 



00000000 
7F000000 
9U0A010 
9101A00D 
D6002008 
05CF06BC 
47F0F13E 
4770FUC 
0018927F 
0A0F0A03 
47F0F120 
A0089604 
A0089517 
A00841D0 
58B0013C 
000018A3 
0000416D 
01841876 
4550C162 
4780C0BA 
1B984550 
000047F0 
C112589A 
00008900 
C1624180 
508D013C 
0148585D 
01461277 
4550C30A 
014847F0 
00055A9D 
4770C258 
487D014A 
D17DC2A8 
C3 8B47F0 
47 70C2D2 
014A0680 
4780C1A4 
47F0C1EC 
D14CD155 
1B224328 
C2A8D207 
4000414D 
C5C65040 
D6E5C509 
D9C5C740 
00040000 
00000000 

05401851 
5817002C 
305F5010 
41103067 
47F04090 
47F04128 



0003FCC0 
0003F8C8 
4710F038 
4710F136 
A0029470 
03BA010A 
9108A00C 
94FEA000 
A0040AOF 
58DA0014 
940FA000 
A00841D0 
A0184770 
00FD58E8 
9239D05C 
9 102B000 
01841876 
4550C346 
92F0D170 
19234720 
C16292F0 
C0DC1882 
00081B98 
00181607 
001047F0 
509D0140 
01404A50 
4770C1B4 
455D0060 
C2D2487D 
013C508D 
D203D177 
89700005 
9260D183 
C242486D 
488D0144 
40800144 
1B884080 
41900008 
DC05D14C 
C3901A62 
6000D14C 
014C47F0 
00000004 
C5C7E240 
F860F1F5 
00000000 
00000000 

98795000 
41204344 
30009231 
50103028 
58780000 
91209016 



000028F0 
58A1C004 
584A0008 
9102A00C 
2008910A 
021C0742 
4710F136 
47F0F0DA 
0A03189F 
9610D02C 
9110A008 
00FD58E8 
F16A9608 
002C07FE 
455D006C 
4710C036 
4550C346 
45500060 
9102B000 
C13E1832 
D1701823 
5A880004 
4550C162 
18150A0A 
CU4588A 
07030148 
01481B44 
585D0164 
48700144 
01441277 
C14C412D 
C3B6F364 
5A7D013C 
509D014C 
014A8960 
12884720 
47F0C28C 
014A47FO 
586D013C 
C2A8D205 
581A0008 
41440004 
C35C0OOB 
00000020 
C1E340C5 
C02E1000 
00000000 
OOOCOOOO 

41D00001 
5021C01C 
30005030 
929E3028 
58008004 
478040D4 



>AGE 0010 
00C00180 
4871C002 
4B40F148 
4780F0E2 
70134710 
00B62FB0 
9110A008 
580A0014 
58F 80044 
47F0F0CC 
4710F12C 
002C07FE 
AC0194FE 
00080006 
02 1 50 177 
5844001C 
455D0060 
92F00170 
4710C112 
58220000 
583AC00O 
18931B98 
1B88455D 
410001F0 
0004589A 
D1481858 
5D40C3AE 
07F58870 
0670407D 
472X28C 
014C9240 
D17C2000 
507D013C 
412D014C 
00055A60 
C2BC4540 
4870014A 
C2F44550 
4B 600148 
D177D14C 
5B10C3AA 
41880001 
16213B46 
FFFFFFEO 
D5E309E8 
41110002 
83000180 
OCOOOOOO 

47F 04010 
9204101C 
30080204 
02073018 
12004780 
98019010 



Q 



I 






0037EO 
003800 
003820 
003840 
003860 
003880 
0038AO 
0036CO 
0038E0 
003900 
003920 
003940 
003960 
003980 
0039A0 
0039C0 
0039 E0 
003A00 
003A20 
003A40 
003A60 
003A80 
003AA0 
003AC0 
00 3AE0 
003B00 
003B20 
003B40 
003B60 
003880 
003BA0 
003BC0 
0036E0 
003C00 
003C20 
003C40 
003C60 
003C80 
003CA0 
003CC0 
003CE0 
003D00 
003C20 
003040 
003D60 
003D80 
003CA0 
003DC0 
003DE0 
003E00 
003E20 
003E40 
003E60 
003E80 
003EA0 



8D000010 
00024010 
43090C0B 
58190020 
92003024 
439A4 1C0 
4176181D 
41F0000F 
91013098 
30A04117 
30A59203 
4A10309C 
91043098 
07FC909F 
30 7C07FC 
00181B99 
41110004 
100043A1 
1BC747F0 
471042A0 
D2077000 
50750014 
00304 ICC 
47FE0008 
00000000 
80004030 
00000000 
OOOOOOCO 
00000000 
00001304 
05C08000 
0168C234 
180158F0 
05F01B22 
4720F02A 
900BD108 
4AOCO00O 
5810B02C 
5A90F1FE 
41000001 
D0024100 
F0E4D204 
4740F132 
18AF48F0 
00FF9201 
9500900A 
01741008 
D16547F0 
000004C8 
69000000 
000012CC 
D0264CAB 
1BFF07FE 
101F1BAD 
001046A0 



4309C00B 
303645C0 
45C0423E 
88100008 
92FF3098 
4182D2C6 
4610416C 
07FE91FF 
471C41AA 
10C01821 
301047FC 
1912078C 
47104310 
307C5815 
C0C03E64 
05A84780 
91E01000 
CCC088A0 
42E41AC7 
47F0429C 
50C09110 
07FEC0CC 
000142C7 
02CC2020 
COCCCOOO 
2H4D277 
OOOOOOCO 
C0CCC0C3 
OOCOOOOO 
OOCCCOCO 
CIEB1820 
D2C7D16C 
B05445EF 
5020D164 
58B0F1E2 
1BC04120 
4780F1C4 
412CD15C 
5090D120 
OA019160 
C01FD507 
D15FD100 
8744F128 
016412FF 
D16758BC 
4780F0E4 
58C0D174 
F1324180 
C0C02E78 
400CC008 
478OF01C 
C0C21BBB 
1B994390 
89DCC004 
F03241F0 



4 5C04^3E 
42304 5C0 
41B03020 
1A175010 
47F0413E 
305D3065 
91FF500C 
30984710 
41F00000 
45C 04264 
413E4810 
41110000 
41B03028 
C00058U 
18AD46A0 
428C41F0 
477042EC 
C00241BO 
50C03070 
D200BO0O 
90164780 
CC003A9C 
0030D500 
703007FE 
C14E92F0 
80028001 
00000000 
00090028 
OCOOOOOO 
C0010000 
18314100 
2C004100 
00041BFF 
12B14720 
9201D167 
D1384150 
182C9200 
183D90BF 
182F4110 
01384780 
1C009000 
47F0F0A2 
18454440 
078E5820 
A1E24144 
47F0F13A 
4B00F214 
C0011817 
3100015F 
08000118 
4A00D02E 
43B20C06 
1C1018A9 
1AD18800 
000407FE 



41180008 
41425078 
45C04234 
30209206 
92403024 
92003038 
47104156 
431045C0 
07FE9104 
4A2030A6 
304A1211 
50103034 
45C04234 
002C4120 
427091FF 
OOOE07FE 
58210000 
30731BBA 
44A0430A 
2000D200 
432E9640 
00003ACA 
30107030 
60000005 
80004830 
00050700 
01000000 
00050600 
00000000 
00050005 
01784510 
D16845E0 
182F4100 
F02A9202 
18C0906B 
01081B88 
200E4A2C 
D00041F0 
D13C0A00 
20C441F0 
4780F10A 
D2029008 
F1CED200 
B02C0500 
C0014240 
95FF1000 
47A0F07A 
47F0F19C 
40000005 
00000000 
41DD0010 
1AAB4BA0 
41D000FF 
00084202 
IBFF189A 



50 10 30 30 
00000200 
91409017 
30200201 
41103098 
4110303C 
41103038 
41E6D203 
30984780 
45C04264 
078C4120 
45C04230 
47F0413E 
306458F0 
9010078C 
987A307C 
41272000 
44A04304 
16B14111 
2000 BOOO 
70009120 
00003ACA 
07CE89C0 
089E0000 
21144B30 
C83245B0 
00000000 
00030027 
00000000 
00003B60 
C0100A0A 
C05E12FF 
0178181D 
01675820 
D000980B 
9008D138 
00024600 
F26205EF 
58F021DA 
0008074E 
4720F18A 
10084341 
900CD167 
20040166 
D1669200 
4740F1AE 
95040165 
0200900D 
08000108 
06000000 
46COF010 
D0281A0A 
14D04780 
00078800 
4A00D0 2E 



92063030 
8007900B 
478040FC 
3026901B 
50103030 
0A0080FF 
41000001 
30344399 
41BA9200 
50103020 
01001B21 
47F0413E 
41B03030 
426005EF 
907A307C 
07FC4U0 
45C04264 
58C03070 
00041910 
IBFF06DE 
90174710 
00003AC4 
00044 ICC 
OOAOOOOO 
C19E4720 
00003B1C 
0F003AE8 
OFOOOOOO 
00000000 
00000000 
18011213 
4720E01A 
0A0A18F2 
F1DE5822 
F1E61E0D 
9202D13C 
F068488C 
98BF3000 
9 1F0F001 
18F2183D 
4321000B 
000B1440 
4340D166 
4720A168 
D16518FA 
05061001 
4780F132 
100B0001 
00000000 
00000100 
45A0F0AC 
89000008 
F02418C9 
00084B00 
42920000 



IB114319 
9801900C 
50703020 
91019016 
92063030 
41539140 
0A019120 
91023098 
302492FF 
92063020 
41100010 
91013098 
50B03010 
D200305C 
18725880 
30A81801 
1BAA50A0 
91021000 
47804214 
91209016 
433C5819 
00003ACA 
3020D205 
08060000 
C03A4130 
800092F1 
00001108 
00000000 
0F003B64 
00000000 
47A0C058 
181BD203 
0A0341E0 
000458B2 
1E201A40 
986BD000 
00001800 
189718A8 
471020C4 
06304A30 
14204122 
485C0002 
4249000B 
9502D167 
47F0F078 
10004740 
41790000 
OOOCCOOE 
92000100 
1B0018D1 
1BAA43A2 
43020007 
89C00004 
D02E4740 
02052001 



►AGE 0011 
00158910 
8D000010 
47F0410A 
47804128 
02023035 
30384710 
3C38071C 
47104292 
30985810 
D2023025 
4A10309E 
471041AA 
92083010 
3064989F 
00105888 
4A00309E 
3070940F 
478042E2 
9101B000 
4780432E 
001C1A71 
1BCC43C7 
7031C004 
00200001 
003492F1 
OCOOOOOO 
100013D4 
00000000 
00001108 
OCOOOOOO 
1311D203 
B 0000 174 
C04A1802 
002812BB 
1A8D1AA0 
41 7C 0004 
4300D166 
50B 00150 
4110D138 
OC004110 
200C8712 
4B50F1D8 
46A0F17A 
076E4140 
4A9C0002 
F1AED203 
188A9204 
0C00026A 
4C000008 
1BCC43C2 
00044BAO 
89CC0008 
IACD430C 
F04841D0 
0024078E 



Q 



NO 

I 



00 



003EC0 
003EE0 
003F00 
003F20 
003F40 
003F60 
003F80 
003FA0 
003FCO 
003FE0 
004000 
004020 
004040 
004060 
004080 
0040A0 
0040C0 
0040 E0 
004100 
004 120 
004140 
004160 
004180 
004 I AO 
0041C0 
0041EO 
004200 
004220 
004240 
004260 
004280 
0042A0 
0042C0 
0042E0 
004300 
004320 
004340 
004360 
004380 
0043AO 
0043C0 
0043E0 
004400 
004420 
004440 
004460 
004480 
0044A0 
0044C0 
0044E0 
004500 
004520 
004540 
004560 
004580 



41A0OOOI 
C00218B0 
05B01220 
70011883 
1BAA41F0 
5A107026 
05A08200 
C9C5C7E3 
IC435865 
0A0D9110 
00184130 
02079074 
50609054 
077B58A0 
50A09048 
O8000C00 
FF041001 
00000190 
0004100A 
FF041000 
FF04100A 
FF04100A 
FF04100A 
FF060190 
FF060190 
00000190 
FF060190 
00000190 
FF060190 
0004100A 
000410CO 
FF041001 
00000190 
0004100A 
0004100A 
00000180 
40040180 
FF041000 
FF041001 
00041004 
00000190 
FF060190 
FF060190 
00000190 
FF041001 
0004100A 
FF041C00 
00000190 
FF060190 
00000190 
FF041001 
0004100A 
00041003 
00000180 
FF041001 



58B0D020 
4AB0D028 
078E5510 
186548C1 
704A0A06 
OACDCCCO 
A00E41F0 
E309D6E3 
602G91FF 
60124710 
CC031413 
C0209610 
42A09054 
904841AA 
07FBC000 
C0C0C000 
40C038BA 
C0C010E0 
40C02E02 
500033F0 
50003346 
50C03346 
60C03404 
30C0344E 
30C0344E 
COCOIOEO 
3000344E 
00C010E0 
3000344E 
5000269C 
7C003896 
40C038BA 
O0CO1OEO 
40C02E02 
70002806 
00C01OC8 
OOCOOODO 
70C034B2 
700034BC 
40C02BC4 
000010D8 
00C03CC6 
00003CC6 
00C010D8 
400038BA 
40C02E02 
60003CB0 
COCOIOEO 
00C03CC6 
C0C01OD8 
40C038BA 
40C02E02 
50C03216 
00C010C8 
40C035E8 



43BB0013 
1DA942A2 
B00E47B0 
0C0288C0 
05701831 
00003F74 
A0160A06 
C5205860 
60024710 
20544110 
413000FF 
90769C01 
94309054 
001055AO 
CC004D20 
00000000 
0C000001 
COOOOOOO 
00000200 
C00001E8 
0C0001E8 
000001E8 
0C000040 
00000000 
0C005608 
OCOOIOEO 
000057FO 
000010E0 
000059D8 
FF000060 
C0000022 
00000001 
00000000 
00000200 
00000060 
0003FBB8 
00000000 
00000001 
00000001 
00000001 
000055F8 
COOOOOOO 
0003FD28 
0003FD28 
COOOOOOi 
C0000200 
00000000 
000010E0 
C003FD28 
0003FD28 
00000001 
00000200 
00000180 
0003FC18 
00000001 



41C0000F 
00064AB0 
B01A0A03 
00O289C0 
121F4770 
00000000 
0A034720 
10001836 
20384110 
00578910 
17135830 
907C4190 
D2039058 
90504 740 
00004OB0 
00000000 
0003FC28 
04000000 
0003FBB0 
00005598 
90003344 
90003344 
A0003402 
04000000 
OC 000000 
OCOOOOOO 
OC 000000 
OCOOOOOO 
OCOOOOOO 
FFFFFFDO 
0003FBCC 
0003FBC8 
04000000 
0003FB50 
0003FD50 
OCOOOOOO 
04000000 
00005598 
00005594 
00002E6C 
00400050 
04000000 
OCOOOOOO 
OCOOOOOO 
0003FC28 
0003FBB0 
0003F02C 
OCOOOOOO 
OCOOOOOO 
OCOOOOOO 
0003FC28 
0003FBBO 
04005598 
OCOOOOOO 
00005594 



14BC05C0 
DO 264 2 B2 
OOFFFFFF 
000241CC 
70129801 
80000000 
FF040000 
88300018 
00568910 
000C4100 
60181413 
902047F0 
0048D207 
903A94F0 
00004D30 
00000 190 
FF060190 
FF060190 
FF04100A 
00000190 
FF041000 
FF041000 
FF041001 
00000190 
00000190 
FF041001 
00000190 
FF041001 
FF041007 
00041004 
00000190 
FF060190 
FF060190 
00041003 
FF041000 
FF040180 
FF041001 
00000180 
FF060180 
FF041000 
FF041001 
00000190 
00041000 
00000190 
FF060190 
00041004 
00000190 
FF041001 
00041000 
00000190 
FF060190 
0004100F 
FF041000 
FF040180 
FF041000 



58C0C024 
000407FE 
003492F1 
100858CC 
602058F6 
C9C5E6E2 
00003F86 
5860602C 
000C4100 
00808900 
4210601B 
90180207 
905C0040 
904F58A0 
FF06000E 
000010D8 
000038BA 
000038BA 
50003346 
000010D8 
500033F0 
500033FO 
7000344E 
000010E0 
00001008 
7000344E 
00001008 
7000344E 
5000362E 
70002BC4 
000010D8 
000038BA 
000038BA 
40002A72 
400035DE 
000035DE 
400035E8 
000010C8 
300034BC 
60003CBO 
40003CC6 
000010EO 
70003896 
OOOOIOEO 
000038BA 
40002BC4 
000010D8 
40003CC6 
70003896 
OOOOIOEO 
000038BA 
50003214 
4000350E 
000035DE 
4000350E 



43BBCO00 
00005238 
181F112F 
00001B99 
005C0A03 
E906E509 
00003FAO 
41400000 
00808900 
00181610 
4UCOOO0 
905E0038 
58A004CC 
904CD20F 
0003FB94 
0003FC28 
00000000 
0003FC18 
00CC01E8 
0003FC18 
000001E8 
000C01E8 
00000001 
00000000 
00005608 
OOOCOOOl 
000057F0 
00000001 
00000001 
OOOCOOOl 
000059D8 
00000000 
0003FBB8 
OOOCOOOl 
0003FF74 
000055F8 
00000001 
OOOCOOOO 
000055F8 
00000000 
00000001 
00000000 
00000006 
OOOOIOEO 
0003FC18 
00000200 
0003FC18 
00000001 
C00C0007 
OOOOIOEO 
0003FC18 
00000100 
00C0CO01 
000055F8 
0003FF88 



»AGE 0012 
06AA489B 
00000000 
057080FF 
43910008 
8910000C 
00000000 
00000000 
41500004 
00181610 
OA 008810 
1BEE0A03 
4590901C 
9500A01D 
A 0009054 
0C03FC60 
OC 000004 
04000000 
OCOOOOOO 
90003344 
OCOOOOOO 
00005780 
0C005968 
00005594 
04000000 
OCOOOOOO 
0C00577C 
OCOOOOOO 
00005964 
00005964 
000O2E6C 
OCOOOOOO 
04000000 
OCOOOOOO 
OC005964 
00005598 
08000001 
0C005594 
04000000 
0D400050 
0003FD2C 
0003FD28 
04000000 
0003FC2C 
OCOOOOOO 
OCOOOOOO 
0C002E6C 
OCOOOOOO 
0003FD28 
0003FC2C 
OCOOOOOO 
OCOOOOOO 
00001548 
0C005598 
08000001 
00005780 



PA 



-o 

Q 



>o 

I 






0045A0 
0045C0 
0045E0 
004600 
004620 
004640 
004660 
004680 
0046A0 
0046C0 
0046EO 
004700 
004720 
004 740 
004760 
004780 
0047A0 
0O47C0 
0047E0 
004800 
004820 
004840 
004860 
004880 
0048 A0 
0048C0 
0048E0 
004900 
004920 
004940 
004960 
004980 
0049A0 
0049C0 
0049E0 
004A00 
004A20 
004A40 
004 A60 
004 A80 
004AA0 
004AC0 
004AE0 
004B00 
004B20 
004840 
004B60 
004B80 
004BA0 
004BC0 
004BE0 
004C00 
004C20 
004C40 
004C60 



10000181 
FF060180 
40040181 
FF041000 
FF041001 
FF041000 
FF040181 
FF041000 
FF041001 
00000182 
40040182 
FF041000 
FF041001 
40040181 
FF041000 
00000190 
FF060190 
00000190 
FF041001 
0004100A 
FF041000 
00000190 
FF060190 
00000190 
FF041001 
0004100A 
00041003 
00000182 
FF041001 
0004100A 
FF041000 
00000190 
FF060 190 
00000190 
FF060190 
FF060190 
0004100A 
0004100A 
FF041000 
FF041001 
FF041000 
FF041001 
00041004 
00000190 
FF060190 
FF060190 
00000190 
FF041001 
0004100A 
FF041000 
0000019C 
FF060190 
00000190 
FF041001 
0004100A 



00C01OC8 
000035E8 
00CC0DD0 
70C034B2 
700034BC 
400035DE 
000035DE 
40C0350E 
40C035E8 
OO0OIOC8 
OOCOODDO 
700034B2 
700034BC 
OOOOODDO 
60C03CB0 
0CC010E0 
00003CC6 
C0C010O8 
400038BA 
40C02EC2 
60C03CB0 
00CC10E0 
C0C03CC6 
CCCC10D8 
40G038BA 
40C02E02 
50C03216 
00C010C8 
40C035E8 
50C0269C 
60C03CBO 
0CCO10E0 
00C03CC6 
00001OD8 
CCC038BA 
000038BA 
40C02EC2 
70CC2806 
40C0335C 
40003366 
40C0335C 
40003366 
40C02BC4 
00C010D8 
C0C03CC6 
C0003CC6 
00C010D8 
400038BA 
40C02E02 
6CC03CB0 
COCOIOEC 
OOC03CC6 
00C010D8 
40C038BA 
40002E02 



0C0055F8 
00000000 
000057E0 
00000001 
CC000001 
00000001 
000057EO 
CC03FF9C 
CC000001 
00000000 
00000000 
OCOOOOOl 
00000001 
00000000 

ooooocoo 

000010EO 
0003FD28 
C003FD28 
00000001 
00000200 
00000000 
000010E0 
0003FD28 
C003FD28 
00000001 
00000200 
C0000180 
0003FC18 
00000001 
FF000060 
OCOOOCOO 
OOOOIOEO 
0003FCC8 
0003FCC8 
OCOOOOOO 
0003FBB8 
00000200 
00000060 
COOOOOFO 
00000001 
C0000001 
OCOOOOOl 
00000001 
000059C8 
00000000 
0003FD28 
C003FD28 
00000001 
00000200 
OCOOOOOO 
OOOOIOEO 
0003FD28 
0003FD28 
CCOCOOOl 
00000200 



50000001 
20000000 
08000001 
00005780 
0C00577C 
00005780 
08000001 
00005 968 
00005964 
20000000 
04000000 
00005968 
00005964 
04000000 
0003FD2C 
OCOOOOOO 
OCOOOOOO 
OCOOOOOO 
0003FC28 
0003FBBO 
0003FD2C 
OCOOOOOO 
OCOOOOOO 
OCOOOOOO 
0003FC28 
0003FBB0 
04005968 
OCOOOOOO 
00005964 
FFFFFFDO 
0003FCCC 
OCOOOOOO 
OCOOOOOO 
OCOOOOOO 
04000000 
OCOOOOOO 
0003FB50 
0003F050 
00005780 
0000577C 
00005968 
00005964 
00002E6C 
0D000050 
04000000 
OCOOOOOO 
OCOOOOOO 
0003FC28 
0003FBB0 
0003F02C 
OCOOOOOO 
OCOOOOOO 
OCOOOOOO 
0003FC28 
0003FBBO 



FF04100 1 
00000181 
40040181 
00000181 
FF060181 
00000181 
FF041001 
10000182 
FF060181 
40040182 
40040180 
00000182 
FF060182 
00041004 
00000190 
FF041001 
00041000 
00000190 
FF060190 
00041004 
00000190 
FF041001 
00041000 
00000190 
FF060190 
0004100F 
FF041000 
FF040182 
FF041007 
00041004 
00000190 
FF041001 
00041000 
FF041001 
00000190 
40040182 
00041003 
FF04100A 
00000181 
FF060181 
00000182 
FF060182 
FF041000 
FF041001 
00000190 
00041000 
00000190 
FF060190 
00041004 
00000190 
FF041001 
00041000 
00000190 
FF060190 
0004100F 



400035E8 
000010C8 
OOOOODDO 
000010C8 
300034BC 
000010C8 
400035E8 
000010C8 
000035E8 
OOOOODDO 
OOOOOODO 
000010C8 
300034BC 
40002BC4 
000010D8 
40003CC6 
70003896 
OOOOIOEO 
000038BA 
40002BC4 
000010D8 
40003CC6 
70003896 
OOOOIOEO 
000038BA 
50003214 
400035DE 
000035DE 
700032E4 
70002BC4 
00001008 
40003CC6 
70003896 
400038BA 
OOOOIOEO 
OOOOODDO 
40002A72 
700032B4 
000010C8 
00003366 
000010C8 
00003366 
60003CB0 
40003CC6 
OOOOIOEO 
70003896 
OOOOIOEO 
000038BA 
40002BC4 
000010D8 
40003CC6 
70003896 
OOOOIOEO 
000038BA 
50003214 



00000001 
00000000 
00000000 

ooocoooo 

000057EO 
000057E0 
00000001 
000057EO 
00000000 
000059C8 
00000000 
OOOCOOOO 
000059C8 
00000001 
00000000 
OCOOOOOl 
00000006 
OOOOIOEO 
0003FC18 
00000200 
0003FC18 
00000001 
00000007 
OOOOIOEO 
0003FC18 
00000100 
000C0001 
000059C8 
00000000 
OOOCOOOO 
000059C8 
00000001 
00000038 
00000001 
00000000 
00000000 
00000000 
OOOCCOFO 
00000000 
000057E0 
000057E0 
000059C8 
00000000 
00000001 
00000000 
00000006 
OOOOIOEO 
0003FC18 
00000200 
0003FC18 
00000001 
00000007 
OOOOIOEO 
C003FC18 
00000100 



GE 0013 
0C00577C 
2C0000OO 
04000000 
04000000 
OCOOOOOO 
OCOOOOOO 
0000577C 
5C000C01 
2C0OOOOO 
08000001 
04000000 
04000000 
0D400050 
00002E6C 
04000000 
0003FD28 
0003FC2C 
OCOOOOOO 
OCOOOOOO 
00002E6C 
OCOOOOOO 
0003FD28 
0003FC2C 
OCOOOOOO 
OCOOOOOO 
00001548 
00005968 
08000001 
00000513 
00002E6C 
080C0001 
0003FCC8 
0003FBCC 
0003FBC8 
04000000 
04000000 
00000513 
B00032B2 
04000000 
X 000000 
OCOOOOOO 
OD000050 
0003FD2C 
0003FD28 
04000000 
0C03FC2C 
OCOOOOOO 
OCOOOOOO 
00002E6C 
OCOOOOOO 
0003FD28 
0003FC2C 
OCOOOOOO 
OCOOOOOO 
00001548 



Q 



NO 

I 



CO 

o 



004C80 
004CA0 
004CC0 
004CE0 
004D00 
004D20 
004D40 
004D60 
004D80 
OOACAO 
004CC0 
004DE0 
004E00 
004F20 

oo4E4o 

004E60 

004E80 

004 EAO 

004EC0 

004EE0 

004F00 

004F20 

004F40 

004F60 

004F80 

004FA0 

004FC0 

004FE0 

005000 

005020 

005040 

005060 

005080 

0050A0 

0050C0 

0050E0 

005100 

005120 

LINE 005140 

005160 

005 180 

0051AO 

0051C0 

0051E0 

005200 

005220 

005240 

005260 

005280 

0052A0 



00041003 
0004100A 
00041000 
FF041001 
00000190 
0004100A 
94F72001 
4780F2A8 
70334770 
1B8B43B7 
8FA00002 
032C0C46 
471OFOE0 
96802008 
4710F004 
9680201F 
41DD0010 
45D0F356 
95O7ACO0 
91F7A000 
4710F1D2 
4302001F 
96017006 
92207048 
2O0147F0 
F1689200 
200447FO 
9101200C 
000418BB 
003647F0 
70439610 
00084780 
58A20008 
00000738 
F01C07FF 
07FE0000 
40C9D5E3 
40404040 



50C03216 
5CC0269C 
70003896 
40C038BA 
00CO1OEO 
40C02E02 
9102200C 
D2C62009 
F0CC9120 
C0C94CB0 
48BDC0C8 
07180136 
91AC201E 
47F0F28E 
96102008 
4302001E 
42D2001F 
45D0F348 
4780F29C 
4780F1B8 
91102001 
41DDC001 
41B7004C 
9204704B 
F16843D7 
70364307 
F29C58D0 
4710F28E 
43B2C020 
F26E43D2 
20019601 
F2BE9101 
41AAC0C0 
0008COOA 
000029AA 

oococooo 

40D9C5D8 
40404040 



SAME AS ABOVE 
40404040 40404040 



C1D9E340 
0000026A 
OO0O51E0 
00000000 
00000000 
00000001 
OOCBOOOA 
C0004710 
43DC0001 
00000000 



40404040 
OOCOOOOO 
080000CO 
OCCO51F0 
OOCCCOOO 
FF6058D2 
0E295114 
F03C48BA 
18F91B99 
CCCOCOOO 



CC000180 
FF000060 
0000002F 
C0000001 
CCOOOOOO 
CC000200 
4710F060 
705CD201 
20084780 
F36E1ADB 
16AB40AD 
C2540462 
47C0F2EE 
4 7F0F1E0 
47F0FIC4 
41DD0001 
4 7F OF 1C 4 
50A70044 
58DA0000 
5GA70044 
C78E9601 
42D2001F 
50B7003C 
47F0FIB8 
003641DD 
00344100 
0010D502 
58D00010 
89B00004 
001E41DD 
70064 7F0 
20084710 
4BA0F36C 
58B00010 
91800044 
00012000 
40404 OFO 
40404040 

40404040 
40404040 
0000026A 
40005108 
CCOOOOOO 
0F0O51B8 
800012A8 
14010219 
000211DD 
47FDCC00 



04005968 
FFFFFFDO 
0003FBCC 
0003FBC8 
04 000000 
0003FB50 
9171200D 
2002705A 
F2349497 
48A70016 
000894BA 
05880E3A 
91102001 
D206705C 
910A201E 
4202001E 
43D70034 
47F0F1B4 
D2057031 
92087044 
200058DO 
91022003 
45D0F356 
D2037033 
00014207 
00014207 
D0552015 
D502D055 
41BB3020 
00104202 
F1B8580D 
F0F4D203 
07F0921A 
58B0B03C 
078E9102 
EOOOOOOO 
F0C540F0 
40404040 

40404040 
40400000 
00000180 
000051B8 
7F 000000 
02001108 
800012A8 
00000000 
41000001 
48BA000C 



FF04100D 
00041004 
00000190 
FF060190 
FF060190 
00000000 
4750F27E 
91042008 
200894EF 
8EA00002 
0009 18 A2 
0028063A 
4710F286 
20090201 
4710F0D4 
47F0F1C4 
41DD0001 
45D0F348 
D00045D0 
41D7003C 
F36805C0 
4710F0CC 
94EF7040 
705494BF 
00369104 
003447F0 
4760F32E 
20154760 
05007036 
001E9608 
00701BBB 
2018704D 
703C9270 
58 BO BO AC 
00444710 
00360000 
F040F0F2 
40404040 

40404040 
0000594C 
00000180 
00000000 
00000000 
0000 12A8 
000012A8 
47F0F008 
8B00D00F 
54 DO FO 48 



5000337E 
40002BC4 
00001006 
000038BA 
000038BA 
00000000 
91082008 
4710F336 
200107FE 
8BA00002 
189F5800 
092C0A96 
96012008 
705A2002 
4500F348 
9150201F 
42D70034 
96042001 
F3564AA0 
50D20018 
47FE000C 
96202008 
41B70054 
20089102 
30084710 
F1689110 
94DF2000 
F316943F 
B00D47C0 
20089213 
43B70009 
5530F364 
70409205 
9140B000 
F0149601 
00320000 
F0F040F4 
40404040 

4040E0E0 
40000000 
80004090 
00000000 
00000000 
C24D47F0 
000012A8 
41CC0002 
4710F02E 
47F0F01A 



0O0CCOO1 
FF000060 
0003FC18 
OOOCOOOO 
0003FBB8 
94FE2000 
4710F056 
94EF2001 
58DC0010 
43A 70018 
001058FO 
0OB82F1A 
96042008 
47F0F200 
9101A000 
4710F0D4 
92007036 
9180A00O 
F36CD207 
96012000 
910A201F 
96402008 
50B70044 
704C47C0 
F2CA910A 
20014780 
94EF2001 
402C94DA 
F16843B3 
703C9220 
4CB0F36E 
477E0008 
704307F0 
071E1BAA 
701B07FE 
C9C5C1F0 
F0F0F040 
40404040 

63008051 
00000000 
02000000 
090050F8 
12000000 
C8C8C8C8 
02080000 
1B0D43DC 
140B4780 
OOOOOOOF 



•AGE 0014 
80000100 
00002E6C 
OC 000000 
04000000 
XOOOOOO 
96242 000 
91402008 
0501 704D 
580D0070 
8AA00002 
00440 5CF 
91802 002 
4 7F0F28E 
91102008 
4780F12C 
4302001F 
96042001 
4710F24E 
7044A000 
91082008 
4710F0DC 
96142001 
92167044 
F24E9208 
703647C0 
F28E924F 
47F0F2C6 
2CC047FE 
000942B7 
70409201 
1A0B917F 
47F0F29C 
00003B60 
1BCC58F0 
9602701B 
F0FOC14O 
40404040 
40404040 

8100E2E3 
00005220 
7F0051EC 
2C00002E 
00000000 
40404040 
00000000 
00009110 
F0041BDD 
00000000 



0052A0 
0052C0 
0052E0 
005300 



00000000 00000180 
45103022 0FC052F8 
00000000 OOCCCOOO 



C5C2C3F3 
90ECD00C 
C0005358 
00000000 



40404040 
05304140 
800053B8 
01000001 



003B00C0 000052C8 FF050013 4C0052F2 

31665040 000850D0 316A4100 31660700 

0A1347F0 314A0000 00000000 00000000 

00004000 00000001 420C0001 98000000 



"a 

Q 



> 

CO 



005320 

005340 

005360 

005380 

0053A0 

0053C0 

0053E0 

005400 

005420 

005440 

005460 

005480 

LINES 0054A0- 

0054E0 

005500 

005520 

005540 

005560 

005580 

0055AO 

0055C0 

0055E0 

005600 

005620 

005640 

005660 

005680 

0056A0 

0056CO 

0056EO 

005700 

005720 

005740 

005760 

005780 

0057A0 

0057C0 

0057E0 

005800 

005820 

005840 

LINES 005860- 

0058A0 

0058CO 

0058E0 

005900 

005920 

005940 

005960 

005980 

0059A0 

0059CO 

0059E0 

005A00 

005A20 



002C0048 
00000001 
00000000 
00404800 
00000001 
00000000 
00544800 
OO000C01 
10005358 
00000000 
00000000 
00000000 



00CC5480 
00CCC001 

cococooo 

C0C05668 
00CCC0C1 

cocccoco 

C0C05850 
00000001 
9CC053B8 

oooccooo 
ooccooco 
oooccooo 



0054C0 SAME AS ABOVE 
00000000 E3CID7C5 



40404040 
00000000 
00000000 
40404040 
00000000 
000055F8 
00000000 
00000000 
060054E4 
00000030 
00000000 
00000000 
C1D34040 
40404040 
00000000 
40404040 
00000000 
0U800C0 
0001E3C1 
00000000 
02000000 
00000000 
00001108 
080057D8 
F16BE3C1 
00000000 
00000000 



40404040 
OOCOOICO 
OOCCCOOO 
40404040 
COCCCOOO 
0800C001 
OOCCOOOO 
CCCCCOCA 
CCCCCOBO 
OCCCCOOl 
OOCCCOOO 
COCCCOOO 
40404040 
40404040 
OOCOCOCO 
404C4040 
OOCOOOOO 
OOCCOOCO 
D7C5F240 
OOCCCOOO 
7F00577C 
CCCC04C2 
2BC01340 
OOCOCOCO 
D7C5F240 
OOCCOOOO 
OCCOCOOO 



005880 SAME AS ABOVE 
00000000 OOCOCOCO 



40404040 
40404040 
OOOOOCOO 
00000000 
40404040 
00000100 
00000000 
00000000 
02005850 
FOF1C140 
00000000 
E3C107C5 



40404040 
40404040 
42C11842 
OOCCCOOO 
40404040 
41CCC0C0 
OOOOCOCO 
0FC0599C 
2CCC005C 
D440F1F8 
00000000 
F340C0C0 



03000048 
00000050 
OCOOOCOO 
03004800 
00000050 
00000000 
03004800 
00000050 
0A1458DO 
00000000 
00000000 
00000000 

F1F8F040 
40404040 
00010000 
00000000 
40404 040 
COOOOOOO 
400055FO 
00000000 
00097FFF 
00180000 
0003FF60 
00000000 
F2F7F5F6 
F8FIF3F3 
40F1F3F3 
OCOOOCOO 
40404040 
00000000 
OCOOOOOO 
40404040 
COOOOOOO 
000057E0 
00000000 
OCOOOOOO 
060056CC 
00000038 
00000000 
OCOOOOOO 

00000000 
40404040 
CCOOCCOO 
0118O0C0 
0C01E3C1 
00000000 
06000000 
00000000 
CC00U08 
080059C0 
F26BE3C1 
00000000 
OCOOOOOO 



00000001 
20000001 
01000001 
00000001 
20000001 
01000001 
00000001 
20000001 
316A98EC 
00000000 
00000000 
00000000 

40404040 
40404040 
00000000 
00000000 
40404040 
00000000 
000055C0 
01000000 
000055BC 
C9C5C3F1 
000O55F0 
00000000 
F0F0F3F6 
F2F0F7F2 
4040F1F4 
E3CID7C5 
40404040 
00000400 
00000000 
40404040 
00000000 
OCOOOOOO 
00000000 
OOOOOOCA 
OOOOOOBO 
00000001 
00000000 
00000000 

00000000 
40404040 
00000000 
00000000 
07C5F340 
00000000 
41005964 
C0000405 
2B001370 
00000000 
D7C5F240 
00000000 
00000000 



00000001 
00000000 
00004000 
00000001 
00000000 
00004000 
0000000 I 
00000000 
D00C07FE 
00000000 
00000000 
00000000 

40404040 
40404040 
80000000 
00000000 
40404040 
00000100 
00000000 
00000000 
07000000 
F0F1C140 
00000000 
E2C3D9E3 
F640F0FI 
F9F1F140 
F3F4F504 
FIF8F140 
40404040 
00010000 
00000000 
40404040 
00000000 
400057D8 
00000000 
00097FFF 
00180000 
0003FF74 
00000000 
00000000 

00000000 
40404040 
00000000 
00000000 
40404040 
00000000 
000059C8 
00000000 
00000000 
060058B4 
00000040 
00000000 
00000000 



00000050 
00000001 
00000001 
00000050 
00000001 
00000001 
00000050 
00000001 
00000000 
00000000 
00000000 
00000000 

40404040 
40404040 
42011842 
00000000 
40404040 
7F000000 
00000000 
0F0055C0 
20000001 
D440F1F8 
00000000 
C3C80000 
E2C8C5D3 
09D6C2E2 
C6F3F6F3 
40404040 
40404040 
00000000 
00000000 
40404040 
00000000 
000057A8 
01000000 
000057A4 
C9C5C3F1 
000057D8 
00000000 
00000000 

E3C1D7C5 
40404040 
00000400 
00000000 
40404040 
00000000 
OD000050 
00000000 
OOOOOOCA 
OOOOOOBO 
00000001 
00000000 
00000000 



00000000 
OOOOCOOO 
420CC001 
00000000 
00000000 
420C0001 
OOOOCOOO 
4510315A 
0003FFB4 
00000000 
00000000 
00000000 

40404040 
00000000 
OU800C0 
0001D3C7 
00000000 
02000000 
00000000 
00001108 
080055FO 
F06BD3C7 
00000000 
00000000 
D340C3C8 
06D540D1 
00000000 
40404040 
40404040 
00000000 
00000000 
40404040 
00000100 
00000000 
00000000 
02005668 
F0F1C140 
00000000 
E3C1D7C5 
00000000 

F1F8F240 
40404040 
00010000 
00000000 
40404040 
OOOOCOOO 
400059CO 
00000000 
00O97FFF 
OO18CO00 
0003FF88 
00005A38 
D5E2D306 



•AGE 0015 
00000001 
00000000 
98C00000 
00000001 
00000000 
98000000 
00000001 
100052F8 
00000000 
OCOOOOOO 
50201008 
00000000 

40404040 
00000000 
00000000 
D3F0F0F1 
00000000 
7F 005594 
C000030A 
2B001310 
00000000 
D3F0F0F1 
00000000 
00000000 
C504C9C3 
40E 34040 
00000000 
40404040 
40404040 
42011842 
00000000 
40404040 
7F000000 
00000000 
0F0057A8 
2C000050 
D440F1F8 
00000000 
F2400000 
OCOOOOOO 

40404040 
40404040 
00000000 
00000000 
40404040 
00000000 
00005990 
01000000 
0000598C 
C 9C 5C 3F 1 
0C0O59CO 
00000000 
C8C4D9C9 



Q 



I 



GO 



005A40 

005A60 

005A80 

005AA0 

005AC0 

005AE0 

005B00 

005B20 

005B40 

005860 

005B80 

005BAO 

005BC0 

005BEO 

005C00 

005C20 

005C40 

005C60 

005C80 

005CA0 

005CC0 

005CE0 

005D00 

005D20 

005040 

LINES 005D60- 

0050A0 

03F8C0 
03F8E0 
03F900 
03F920 
03F940 
03F960 
03F980 
03F9A0 
03F9C0 
03F9E0 
03FAOO 
03FA20 
03FA40 
03FA60 
03FA80 
03FAA0 
03FAC0 
03FAE0 
03FB00 
03FB20 
03F840 
03FB60 
03FB80 
03FBAO 
03FBC0 



ooooocco 

00000000 
00005850 
0003FF98 
5570934A 
93964144 
934E4A60 
96FF9386 
914A45A0 
47809192 
00004000 
07005D02 
00005B68 
40404040 
900035A6 
00005B68 
41FF007D 
000450FD 
58F0E034 
9240D17C 
00014010 
D05CD130 
FFFF07FE 
FFFFFFFO 
40404040 
-005080 SAM 
40404040 

0003F9A8 
91C02024 
41000002 
F04E414C 
20 124730 
D6003030 
OA0007FE 
C20BC3E3 
41220000 
F036928B 
0003FB58 
00085830 
000C1B55 
58F0204C 
91202011 
47E080B0 
48610C06 
D01407FE 
41030030 
91401005 
80741851 
C9C7C7F0 
917F4C00 
9001D040 
07FE0700 



CCCC0022 
00CC5668 
80C052E4 
CCC05A2C 
47A090EC 
C0C45O40 
933E4B60 
D2C393CA 
908491C0 
02C3C02C 
COCOOOOi 
00000660 

oocococo 

5CCC5C86 
C0C05D54 
00005D38 
50FD015C 
015C4110 
05EF4110 
D277D171 
005E92F1 
47F0D060 
CCCCCOCO 
00005D20 
404040FC 
E AS ABOVE 
40404040 

00COO1A4 
47B0F020 
05C050C0 
F0AC4155 
F07C02C0 
4CC14140 
40CBF013 
E5C1E641 
41ACC008 
202894CF 
C0C3F9A8 
20445833 
91C01005 
434C2040 
47E08074 
5861000C 
47F080B4 
434C2042 
5CC30018 
47108118 
18120A19 
F1F9C2C2 
471C504C 
41UC0C0 
07CC0700 



03000000 
COOOOOOO 
0C005A38 
C003FF88 
89700001 
93965874 
933A8960 
C02CD203 
60034740 
COOOOOCO 
00000001 
28282828 
00OO52A8 
0003FB70 
C0005D54 
0003FC30 
411F007D 
00489220 
0001480D 
D1704110 
D170D203 
98E0D158 
COOOOCOO 
OCOOOOOO 
F0F5C4F4 

40404040 

C 9C 7C 7F 
91402 024 
4C004780 
00014310 
302F2012 
30305040 
601B4E03 
0003FA00 
1B2A9180 
402C41A2 
C9C7C7F0 
00004140 
474080CC 
1A435043 
43502010 
1A65D201 
48602 03E 
18741A43 
91082024 
96024000 
18151B55 
O00DFO10 
47405028 
0A3712FF 



0000C378 
00005850 
000052FO 
4140B018 
41660001 
00004B60 
00015A60 
C02C93D2 
907858E0 
00000000 
54000000 
4103FC28 
0003A188 
00002 74C 
00000008 
00100010 
191047C0 
100558F1 
005C9560 
00381901 
D1DDD12C 
12EE0785 
00005000 
0003FCF0 
F0404040 

40404 040 

F1F9C3C6 
4780F020 
F04E8740 
30305050 
92002012 
301847F0 
F18BF293 
0003F8C0 
20004780 
002850A2 
F1F9C2C1 
00014043 
91202011 
00189401 
91C02024 
30066000 
1A654064 
58F02048 
47108070 
47F08074 
5013000C 
0103FB70 
18144100 
47805010 



00040004 
93B6D203 
00005A68 
50409396 
464090AE 
933A4A60 
C0044866 
45A09220 
93AED203 
00000000 
00680020 
0103F8D8 
00000000 
00005C18 
40404040 
98E0D158 
D0B61BFE 
000858F0 
D1704740 
47 AO DOE A 
4 E I DO 1 50 
411E0004 
00000B18 
0000274C 
40404040 

40404040 

00 1CF010 
41550008 
F02C9148 
30304210 
96803000 
F0A49640 
F39BF4A3 
C9C7C7F0 
F036947F 
00 1850 AO 
002AF010 
002494BF 
47808044 
30009640 
47B080AO 
48630006 
0006D202 
94013000 
947F2030 
960C4000 
47F08044 
90 E8 00 14 
00010A01 
05EF9801 



O0O8C000 
C02C93D6 
0003FF34 
4BB0933C 
462090CC 
933E4060 
00005460 
D203C02C 
C02C93DA 
00000000 
1003FC84 
0003F8D8 
00039CF0 
0000005C 
40404040 
12EE4780 
40FD0168 
F03005EF 
00CE4720 
400D005C 
F333D1E2 
191F0785 
00060000 
A0003376 
F4F0F4F0 

40404040 

0103F8D8 
4B60F01A 
20114710 
30304B60 
91482011 
302CD200 
F5ABF6B3 
F1F9C3D3 
200043A2 
00484122 
0103FA18 
20304103 
91802030 
30001B44 
91402024 
47F080B4 
4001100D 
96203000 
47F08070 
D2013024 
FFFF0700 
185F5821 
47F05010 
00404111 



00000000 
800053B8 
80001370 
416G0001 
58B09206 
933E47F0 
937E50A0 
93CA47F0 
47F09066 
00480000 
9203FA18 
000000 7D 
40404040 
00005DC0 
7F000O00 
D096D2 7C 
D2O3EO00 
411D0048 
D0CC1A01 
07F5481D 
D15496F0 
47F0D082 
00000000 
00814040 
F4F0F4F0 



•AGE 0016 
00005480 
500032AA 
00003481 
41400020 
07F55840 
90A6900B 
939A07FA 
906E4150 
95009386 
00000001 
0003FB70 
00000001 
40404040 
00005BE0 
40204040 
F00OD16C 
D16841FE 
58E01008 
1A011A01 
005E4111 
D1E5D201 
D7C1C7C5 
FOFOFOFO 
007D4040 
404040F4 



4040C7FO F1F9F0E2 



58503028 
4140F0AC 
F04A4140 
F0504060 
4710F09A 
30284001 
F7BBF8C3 
OOOAFOIO 
002F44A0 
000807FE 
90E8D014 
00085001 
4780812A 
43402043 
47808OB0 
91801004 
50302044 
91202011 
94F04000 
813C9640 
00000000 
00085831 
18121803 
00000A37 



4860302E 
4U0F0CE 
F0CC47F0 
30369130 
94BF3030 
41103008 
F9CBCID3 
0103F9C0 
F03C4780 
9100402C 
188F5821 
00105013 
96802030 
18741A43 
91201005 
471080B0 
05EF98E8 
47E08100 
50430018 
203047F0 
0C03FA00 
00101841 
4B005008 
98E8D014 



03FC20 



4103FC28 



7F 000081 



40000000 



7F005C18 



0003FC60 



08000000 



Q 



> 



CO 
CO 



03FC40 
03FC60 
03FC80 
03FCAO 

03FCE0 
03FDOO 
03FD20 
03FD40 
03FD60 
03F08O 
03FDA0 
03FDC0 
03FDE0 
03FE00 
03FE20 
03FE40 
03FE60 
03FE80 
03FEA0 
03FEC0 
03FEE0 
03FF00 
03FF20 
03FF40 
03FF60 
03FF80 
03FFA0 
03FFC0 
03FFE0 



4003FC50 
O0000F14 
OCO00000 
0203FC60 



FF04000E 
00000000 
00000180 
FF040033 
00005A78 
28001370 
OO000F14 
00000000 
0009000A 
00000180 
01610161 
000028F0 
00002940 
0003FEF4 
OOOCOOOO 
00188000 
40404040 
00000000 
40404040 
14010100 
000402CO 
E2E8E2C1 
00002940 
000028FO 



00CC5B68 
C0C3F9C0 
C4CC018G 
33001290 



00C3FB94 
00C3F8CC 
00C05BD0 
40CC344C 
80C052E4 
C0C05A2C 
00C0C0C0 
01CC0000 
C0C3FFB4 
6CC032A8 
00CC52A8 
00CC0080 
40C052C8 
C0C3FF34 
COCCCOCO 
C0C3FDD4 
8CC3FF0A 
OOCCOOCO 
40404040 
E3C1D7C5 
80C01340 
C2C5D5C4 
40CC52C8 
CCCCC080 



0003FC58 
00000F14 
0403FDD4 
00010000 



03F003F0 
00005B68 
500034D2 
03A103AI 
0COO5A38 
0003FF88 
5F00000F 
00000000 
CC00C630 
00380100 
OC000030 
0000003C 
C0005218 
00000180 
OOOOOOCO 
12008000 

cooooooo 

00000000 
40404040 
F 1404040 
14010100 
00040800 
00000030 
0000003C 



00010000 
000OOF14 
C8COOOO0 
C2C2C2C1 



0003FD50 
8C003428 
0003FB70 
0003FE28 
00000008 
5000250A 
OCOOOOOO 
0F03FEB8 
0003FF34 
C8C4D9C9 
800052E4 
4000B302 
0003FF34 
0003FFB4 
00000000 
00000000 
00000000 
00000000 
14040100 
00030A00 
E3C1D7C5 
80001290 
0003FF04 
4000B302 



8B005D38 
00000F14 
OFOOOOOO 
C3D3C3C6 

002F0500 
OOOOOOEO 
000036A8 
00310100 
00000001 
00000034 
00000F14 
OFOOOOOO 
04003A88 
800013D4 
0012D072 
00000080 
0003FEF4 
000028F0 
00002940 
00000000 
00000000 
00000000 
00000000 
0106C203 
80001310 
F3404040 
00000000 
00000080 
0003FEF4 



40000081 
00000000 
01000000 
000035A2 

F3F0F5C1 
00005BC0 
00005C36 
F4F0F1C3 
80000100 
000 3FF34 
00000F14 
00000180 
500013D4 
00003630 
000032A8 
400052CE 
0003FF34 
00000080 
400052C8 
00000000 
0003FEFC 
00000000 
C8C8C8C8 
C9C24040 
14010100 
00040500 
00000181 
00000181 
0003FF34 



PAGE 0017 
01005041 20000078 
00000000 0C0O2BEO 
OOOCOOOO 0F005B68 
00003571 600032A8 



00OCD072 
00000878 
00040000 
000CD072 
800053B8 
800053B8 
00000F14 
00000000 
00O0COC4 
0003FF5C 
FF04000D 
00005434 
00000180 
00OC0O3C 
00000000 
00000000 
00000000 
OOOCOOOO 
40404040 
00030900 
E3C1D7C5 
80001370 
00000000 
00005218 
00000180 



000032A8 
400032AA 
00000180 
000032A8 
700032BA 
00005850 
00000F14 
40000000 
0C0000C4 
0000C5F8 
5000337E 
0003FF34 
00005434 
4C0OB302 
00000000 
00000000 
C5C2C3F3 
00000000 
C7C 54040 
800013D4 
F2404040 
14000000 
00005434 
0003FF34 
00000000 



END OF DUMP 



-o 
Q 



COMPLETION COCE - 


SYSTEM=000 


IEF285I 




EBCLIB 






IEF285I 




VOL SER 


NOS = 


nun. 


IEF285I 




TAPE180 






IEF285I 




VOL SER 


NOS = 




IEF285I 




TAPE181 






IEF285I 




VOL SER 


NOS = 


TAPE2 . 


IEF285I 




TAPE182 






IEF285I 




VOL SER 


NOS = 


TAPE3 . 


IEF285I 




SYSOUT 






IEF285I 




VOL SER 


NOS = 




IEF280I 


K 


181.TAPE2 ,HhHH 


IEF280I 


K 


182.TAPE3 ,h\-W 


IEF285I 




EBCLIB 






IEF285I 




VOL SER 


NOS = 


111111. 



USER=0256 



PASSED 

DELETED 

DELETED 

DELETED 

SYSOUT 

KEPT 



I 



CO 



-X3 
Q 



I 



CO 



//SCRATCH JOB 1, EBC It MSGLEVEL = 1 

// EXEC PGM=IEHPROGM 

//DLIB1 CD UNlT = 2311,V0LUME = SER = llillitDISP=(0LD> 

//DLIB2 DD UNIT=2311,VOLUME=SER=222222,DISP=(OLD> 

//SYSPRINT CD SYSOUT=A 

//SYSABEND DD SYSOUT=A 

//SYSIN DD • 

IEF236I ALLOC. FOR SCRATCH 

IEF237I DLI81 ON 190 

IEF237I DLIB2 ON 191 

I6F237I SYSIN ON OOC 



Used to regain space the system has used for Scratch Data Sets 



-or- 



To avoid a duplicate name running of job DDDD 



Q 



SYSTEM SUPPORT UTILITIES IEHPROGM 



PAGE 0001 



SCRATCH VTQC, VOL = 23 11 = 1 11111, SYS, PURGE 

IEH207I STATUS OF USERS REQUEST TO SCRATCH THE VOLUME TABLE CF CONTENTS 

DATA SET NAME ACTION TAKEN REASON FOR TAKING THIS ACTION 

AAAAAAAA. AAAAAAAA. AAAAAAAA. AAAAAAAA. OCCOOOOi SCRATCH USERS REQUEST 

AAAAAAAA.AAAAAAAA.AAAAAAAA.AAAAAAAA.CCC00003 SCRATCH USERS REQUEST 

END OF SCRATCH VTOC 



ERROR 



SCRATCH VTOC, VOL =231 1=222222 , SYS, PURGE 
IEH207I STATUS OF USERS REQUEST TO SCRATCH THE VOLUME TABLE OF CONTENTS 



UATA SET NAME ACTION TAKEN 

AA AAA AAA. A A AAAAAA. AAAAAAAA . AAAAAAAA . 0OCOO0C5 SCRATCH 

AAAAAAAA.AAAAAAAA.AAAAAAAA.AAAAAAAA.OC000006 SCRATCH 

AAA A AAA A. AAAAAAAA. AAAAAAAA. AAAAAAAA. CCC00007 SCRATCH 
END OF SCRATCH VTOC 



REASON FOR TAKING THIS ACTION 
USERS REQUEST 
USERS REQUEST 
USERS REQUEST 



ERROR 



I 



CO 

o 



SCRATCH DSNAM E=EBC. DDDD,V0L=23ll =222222, PURGE 
NORMAL END OF TASK RETURNED FROM SCRATCH 



UTILITY END 



Q 



> 



CO 

^1 



IEF285I CDDDDDDDDDDDCCCDDODDDDDDDDOODDDDDDDDDDDDDDDD KEPT 

IEF2851 VOL SER NOS= 111111. 

IEF285I CCCCCCDDCDDCCCCODDDDDDDDDDDDOODOODDDDDDDOODD KEPT 

IEF285I VOL SER NOS= 222222. 

IEF285I SYSOUT SYSOUT 

IEF285 I VOL SER NOS= 

IEF285I SYSOUT SYSOUT 

IEF285I VOL SER NOS= 



Appendix 2D 



INPUT TO STAGE 2 (PREFIX AND SVC TABLE) 



//SG15 EXEC PGM=IETASM 
//SYSLIB 00 DSNAME=SYS 
// 00 OSNAME=SYSl 
//SYSUfl 00 0lSP=OLD,V 
//SYS4JT2 00 DISP*OLD,V 
//SVSUT3 00 OISP-ULD.V 
//SYSPRINT OD SYSOUT=A 
//STSPONCtt 00 DISP=OtU 
//SYS1W DO * 

PAINT UN, NOOA 
IHASVCOO CSECT 

ENTRY SVPkFX, 



l.(,ENLlB,DIbP=(OtO,PASS) 

MACL t B, 1 SP = ULD, VOLUME = (, RETAIN) 

OLUME=(,RETAIN),LAbEL=(,SL),DSNAME=SYSLUTl 

0LUME«I,RETAIN),LABEL=<,SLI,DSNAME=SYS1.UT2 

0LUME«< f RETAIN),0SNAME=SYSi.UT3 

,VOLUME=t ,KLTAIN) , USNAME=SYS1.UB JMliOt IEASVCOO) 

1A 

SVCIBL.SVLMT 





NOPEXIT 


BR 


14 




SVPRFX 


OS 


OC 






UL 


ALKU3 


v^ 




OC 


AC1U5, 






DC 


ALK33, 


o 




OC 


All (41, 


1 




DC 


ALK2*0 




SVCTBLX 


OS 


OC 




SVC TBI 


EUU 


SVCTbLX 






OC 


AC3WGC 






EXTRN 


ICC 000, 






OC 


AL3UGC 






EXTRN 


IGC003, 






OC 


AL3( IGL 






tXTRN 


IGC007, 






OC 


AL3UGC 






EXTRN 


1GC011, 






OC 


AL3UGC 






EXTRN 


IGC018, 






DC 


AL3UGC 






EXtRN 


IGC045 




SYLMI 


OS 


OC 






OC 


AL1I1.1 






OC 


ALKltl 






DC 


ALKlil 






tNO 





,4i 5, 6, 7, 8, 9, I 0,1 1,1 2, 13,14,22) 
16, 2 3, 24,1 /,2b, 26, 11 % 28, 29 ,0,30, 3 1,32 I 
34. 35, 36(37, 0,38, 39, 2, 18,0,40,19,20) 
42, 2 t 21, 2,2, 2, 0,2, 43 ,2,0, 0,441 

,0,0,2,0,2,0,45,0,0,0,0,46) 

-s 

000+0,NUPEXU,lGC001 + 0,Il>C002+0) 

1GC001,IGC002 

003+0, IGC 004+0, IGC 005+0, IGC006+1) 

IGC004, IGC005, IGC006 

00/+1,IGCOO«+1,1GC009+0, IGCOIO+OI 

iGC008,lbC009,lGC010 

Oll+0,lGCO12+l,iGC0l4+5,IGC015+O) 

1GC012,IGC014,IGC015 

018+l,IGC03 7+7,lGC040+l,lGC041+l) 

IGC037,lGCO40, IGC041 

045+7) 



,1, 7,7.1,7,7,1,2) 

,1,1,7,1,6,6,7,6) 
,7,7,1) 



/• 



Appendix 21 



IEAAIH, FIRST LEVFI INTERRUPT HANDLERS 



LGC OBJECT CODE 



Al)D«l ADDR2 STMT SOURCE STATEMENT 





000346 








000346 


4700 


03D6 




00034A 


900F 


C400 




00034E 








00034E 


58 90 


0258 




000352 


05B9 






000354 


1BAA 






000356 


43A0 


0023 




00035A 


9546 


002 3 




00035E 


47A0 


03EA 




000362 


9889 


2 3C 




000366 


43A9 


AOOO 




00036A 


416A 


AOOO 




00036E 


1ABA 






000370 


478C 


03EA 




000374 


5830 


0010 




000378 


oooc 


.4 74 




000378 






> 


000378 


5640 





00023 



00037C 

00037C 585C 4000 

000380 49A0 025C 

000384 47AC 03DE 

000388 1EB8 

00038A D202 0249 8000 0C249 

000390 9107 B002 CG002 

000394 4770 03DE 

000398 96F0 0347 003^7 

00039C 5860 0248 

0003A0 05E6 





275+*** 




277+JEA 


00306 


278+SVF 


004 


279 + 




2 8 0+ SVG 


00258 


2 81 + 




?62 + 




2 83 + 


00023 


284 + 




285+SVV 


003EA 


2 8 6 + 


002 3C 


2R7+SVW 


00000 


28* + 


00000 


289 + 




290 + 


003EA 


29 1 + 


000 10 


29? + 




2 9 3+** 




2 95 + 




296 + 




2 9 7 + 




299 + 


ooooc 


3 00 + 


00 2 5C 


301 + 


003DE 


302 + 




303 + 


00000 


3 04* 




305 + 


0030E 


306 + 




307 + 


002*8 


3 08 + 




309 + 



EIRST LEVEl SVC HANDLER *** 



ec 

STM 

ns 

L 

BALR 

SR 

IC 

CLI 

BC 

I M 

IC 

LA 

A« 

BC 

L 



DC 
ORG 
DC 
ORG 

L 

CH 

BC 

ALR 

N-.VC 

TM 

BC 

01 

L 

BALR 



OH 

0,SVJ 0. TYPE I SVC ALREADY IN PROCESS. 

0,15,SVCSAV SAVE REGISTERS IN TYPE I SAV^ AREA, 

OH 

9.TPACFSVC TRACF SVC. 

11,9 

10,10 LOAD SVC CODE INTO REGISTER. 

10,SVC0PSW+3 

SVCOPSW+3, 70 Q. SVC CODE NOT I 3M PROVIDE!. 

10,SVA 

8,9,ASVCTBI GET SVC TABLE ADDRESS 

10,0(9,10) GET SVC INDEX FACTOR. 

11,0(10,10) DERIVE ADDRFSS OF SVC TABLE ENTRY. 

11,10 FOR PROGRAM BFING CALLED. 

8,SVB 0. NO TABLE FNTRY FXISTS F'1» SVC. 

3,16 CVT T ABLEAOORPSS. 



CURRFNT TCR ADDRFSS 



h,IEATCBP+4 

AL4( IEATCBP + 4) 

X • 584 0' 
* + ? 



5,TCBRBP(0,4) CURRFNT RB ADD»FSS. 

10,SLMT 

10,SVD 

11,8 

SVCPS*/ + 5(3),0( 11) 

?( 11 ) , 7 

7,SVD 

SVF+^X'FO' INDICATE TYPF I SVC IN PROGRESS, 

6,SVCPSW+4 ENTRY POINT 

14,6 



IEAAIH, FIRST LEVEL IMTERRUPT HANDLERS 



LCC OBJECT CGOE 



AODR1 AOOR? STMT 



SPURCt STATEMENT 



0003DE D2 3F 4030 040C 0C030 0040C 
0003E4 58C0 0244 00244 

0003E8 C7EC 



34!+*** SVC SFCUNO LEVEL INTERRUPT HANDLER INTFRFACE *** 

342 + * 

343+SVO MVC TCBGRS(64,4) ,SVCSAV STORE REGISTERS IN TCB 

344+ L 12,SVFX 

34 5 + HCP 15,1? 



0003EA 





0003EA 


4blO 


0022 




0003EE 


41 IC 


1F00 




0003F2 


69 10 


OOOC 




0003F6 


98 8B 


0420 




0003FA 


OAOC 






000400 








000440 






> 








— ■ 








i 











347+SVA 


OS 




3 48 + *** SVC 


; ERROR 


00022 


350+SVB 


LH 


OOF CO 


351 + 


LA 


OOOOC 


35? + 


SLL 


004 2 C 


353 + 


I M 




3 54 + 


SVC 




^5 5+SVCSAV 


!)S 




3S6 + RESU v IPSrt 


OS 




3 5 7 


IEAAPS 



OH 
COOP 



ROUTINE 



ltSVCOPSW+2 PICK UP SVC CHOP THAT IS IN F4R0R. 

ltX»FOOMO,l) GENERATE ERROR COOE IN REGISTTP I 

It 12 

8,1 1 ,SVCSAV + 3? RESTORE WORK RFGS 

13 

>*0 

in 

P3 IM, OT I VE,N,nNLY12,Y 



IEAAPS, DISPATCHER AND EXIT 

LOG G6JLCT CODE ADDR 1 AODR2 

000448 

000448 
000000 



00000 I 
OOOOOE 
000004 
000006 
OOOOOC 
000008 
^ 000008 
fo 000008 

I 

CO 



tFFfcCT'.K 






STMT 


SOURCE 


STATEMENT 


359+IE4APS 


OS 


00 


360 + 




FNTRY 


IFAODS 


361 + J 


[EAODS 


ns 


00 


362 + 




USING 


IEAAPS.O 


363 + 




FNTRY 


IFATC8P 


364 + 




ENTRY 


IFCXTLER 


365 + 




ENTRY 


SIRB 


366 + 




FNTRY 


IFAOEFOO 


367+ 




ENTRY 


SVCNV 


368 + 




FNTRY 


IECIFRLC 


36'") + 




FXTSN 


IEAOFNOO 



37 1+GX 


EQU 


L 1QF REGISTER 




372+GL 


EQU 


14 




3 /3 + GA 


FQU 


4 




3 74+GH 


FQU 


6 




375+GC 


tQU 


1? WORK REGISTER 




376+IR8UF 


FQU 


3 OFFSET OF IRR AOOR. 


IN DEB 


37 7+FRRTAt. 


FQU 


8 




378 + DFI30F 


EQU 


8 





Appendix 22 







IEAA, 


In, FIRST 


LEVEL 


INTERRUPT HAMOLERS 








LLC 


OBJECT C3DF 


ADD&1 


ADD"? 


STN"T SPURCF 


STATEMENT 
















311+*** TYPE I SVC EXIT ROUTINE *** 
















312 + * 








0003A2 












313+IEA0XEOC 


OS 


OH TYPE I SVC EXIT RO 




0003A2 


D4C0 


0347 


0022 


00347 


00022 


314+SVCXT 


NC 


SVF + K 1) ,SVC0PSW + 2 Q. 




0003A8 


4770 


03B8 






0C3U8 


315 + 


RC 


7 ,SVL 




0003AC 


932b 


0408 






0040b 


3 16 + 
31 7+** 


LM 
CL1 


2, 14,SVCSAV + 8 
lFATCBP+2,0 




0003BO 


OO00C472 








3 19 + 


DC 


AL4( IEATCBP+2) 




0003B0 












320+ 


ORG 


*-4 




0C03B0 


9500 










321 + 


DC 


X »9500' 




000384 












32? + 


CKG 


* + 2 


> 




















CO 


0003B4 


4780 


03BC 






003BC 


324 + 


BC 


*,SVI 


1 


0003B8 


82 00 


002 




00020 




325+SVL 


LPSW 


SVCOPSW 




0003BC 


95FF 


02 




0C020 




3?f» + SVI 


CLI 


SVC0PSH,255 Q. CALLER 




0003C0 


4740 


0338 






0033d 


32 7 + 


BC 


4.SVL 




0003C4 


90A1 


01 BO 






001BC 


328 + 


STM 


10, 1 , RKEGSK 




0003C8 


58AC 


0180 






0018C 


329 + 


L 


10,PPBinx 




0003CC 


D207 


A010 


0020 


OCC10 


00020 


330 + 
3 31+** 


MVC 

B 


XRBPSW(8. 10) .SVCOPSW 

IEAOOS 




0003D2 


00000448 








3 3 3 + 


OC 


.AL4( IEAOOS) 




0003D2 












3 *4 + 


ORG 


*-4 




0003D2 


47FC 










335 + 


OC 


X'47F0« 




000306 












336 + 


ORG 


* + 2 




000306 


92FF 


0022 




00022 




338+SVJ 


MVI 


SVC0PSW+2,X'FF« 




0003DA 


47F0 


034E 






0034E 


339 + 


R 


SVG 



RFTURN IS MOT TO ORIGINAL LFVFL, 
0. DISPATCHER IS TO 3f ENTFRFD. 



IS DISABLED, 



Appendix 23 



IEAATA, FXIT AND TRANSIENT AR t A HANDLER 



LCC 08JELT CODE 



AODP1 ADDR2 STMT SOURCE STATFMFNT 

75+*** ?ND LEVEL SVC HANDLER *** 



OOOOOO 

000000 47A0 C06A 

000004 412C COCO 



77 + USING SVF,12 

0006A 78+SVE BC 10,SVZ Q. SVC IS NGN-RF S I DFNT. 
OOCCO 79+ LA 2.SVT SET EXIT FROM SVRB CREATE, 



81+*** SVRB CREATION AND GENERAL INITIALIZATION ROUTINF *** 



> 

CO 



000008 

000008 D207 5010 002C 00010 0002C 

OOOOOE 4180 0007 00007 



000012 00000004 
000012 
000012 58A0 
000016 

000016 148A 

000018 17AB 

00001A 41B0 300B JOOOd 

00001E 111S 

000020 1E11 

000022 1E11 

000024 4101 1000 00000 

000028 1300 

00002A OAOA 

00002C 12FF 

00002E 4780 C048 00048 

000032 58F0 4018 00018 

000036 9602 4010 00010 

00003A 5810 F004 00004 

00003E 4110 1020 00020 

000042 1600 

000044 5000 FOOO 00000 

000048 

000048 50A0 1 OOC OOOOC 

00004C 40B0 1008 00008 

000050 92C0 100A OOOOA 

000054 9262 100B OOOOB 

000058 D23F 1020 4030 00020 00030 

00005E 5050 101C 0001C 

000062 5010 4000 00000 

000066 1851 

000068 07F2 



R2+SVM 
83 + 

84+SVH 
R5 + ** 

87 + 

88 + 

89 + 

90 + 

92 + 

93 + 

94 + 

95 + 

96 + 

97 + 

98 + 

99 + 

100 + 

101 + 

102 + 

103 + 
104+ 
105+ 

106 + 

107 + 

108 + 
109+SVK 

110 + 

111 + 

112 + 

113 + 

114 + 
115+ 
116 + 
117+ 
1 13 + 



DS 

KVC 

LA 



DC 
ORG 
DC 
ORG 

NR 

XR 

LA 

LND 

ALR 

ALR 

LA 

LCR 

SVC 

LTR 

BC 

L 

01 

L 

LA 

SR 

ST 

DS 

ST 

STH 

MVI 

MVI 

MVC 

ST 

ST 

LR 

BCP 



OH 

XRBPSW(8 ,5),SVC0PSW STORE SVC OPSW IN CURRFNT RB. 

11,7 PLACE MASK IN REGISTER. 

1CSVCPSW+4 GFT SVC E.P. AND RB SIZF 

AL4{ SVCPSW+4) 
*-4 

X»58A0' 
* + 2 

11.10 ISOLATE EXTENDFD 'SAVE AREA 

10.11 SIZE FROM ENTRY POINT ADDRESS AND 
11,11(0,11) COMPUTF TOTAL SVRB SIZF. 
1,11 SET REG I NEGATIVE TO INDICATE 

1,1 GETMAIN AND PLACE SUBPOOL 255 INTO 

1,1 REG WHILE CONVERTING SVRB SIZE 

0,0(1,1) FROM DOUBLE WORDS INTO 3YTFS. 

0,0 

10 

15,15 Q. SVRB CORF IS AVAILABLE. 

a,svK 

15,TC8MSS(0,4) STEAL CORE FROM PARTITION AT 32 

TCBFLGS+K4) ,2 BYTES FROM ORIGIN. 

1,4(0,15) 

1,32(0,1) TREAT 'STOLEN' CORE AS SVRB. 

0,0 

0,0(0, 15) CLEAR MSS FQE POINTER. 

OH 

10,XR8EP(0,1 ) INIT. F.P. ADDRFSS IN SVRB. 

U,XR3SZ(0,1) INIT. SIZE FIELD IN SVRB. 

XSTABl I) ,XSVRB FLAG RB AS SVRB ALSO ACTIVE, 

XSTAB+K 1) ,XACTV+XDYN+XREG 16REGSAVE, AND DYNAMIC 

XRBREG164, 1) ,TCBGRS(4) MOVE REGS TO SVRB. 

5,XRBLNK(0,1) ENQUEUE SVRB ON RB QUEUE. 

1,TCBRBP(0,4) 

5,1 SVRB IS NOW CURRENT RB. 

15,2 



icAAiA, tXll AND TRANSIENT AREA HANDLER 
LOC OBJECT CODE ADDP.l ADDR2 STMT SOURCE STATEMENT 



00006A 
00006A 



00006A 00000000 
00006A 
00006A 4BA0 
00006E 

00006E 1EAA 
000070 1EAA 
000072 5EA0 C0D4 
000076 5860 A000 



00007A 00000007 
00007A 
00007A 4260 
00007E 

00007E 48D0 0022 
000082 4520 C008 



> 


000086 


00000000 


CO 


000086 






1 


000086 
00008A 


45FC 






00008A 


18D6 






00008C 


9869 


C0D8 




000090 


8800 


0003 




000094 


41B0 


07FF 




000098 


14BD 






00009A 


17DB 






00009C 


88D0 


0003 




OOOOAO 


40B0 


1018 




0000A4 


40B0 


101A 




0C00A8 


900E 


1000 




OOOOAC 


5090 


100C 




OOOOBO 


15E8 






0000B2 


4780 


COBC 




0000B6 


18A5 






0000B8 


0586 






OOOOBA 


OOOE 






OOOOBA 








OOOOBC 








OOOOBC 


96L0 


500A 




OOOOCO 


980L 


5020 




0000C4 


98DF 


5054 




0000C8 


5860 


500C 




OOOOCC 


05E6 






OOOOCE 


0A03 





OOOCA 



000D4 
OOOOC 



00022 
00008 



00008 
00003 
007FF 



00003 
00018 
0001A 
00000 
OOOOC 

OOOBC 



00020 
00054 
OOOOC 



120+*** TYPE III SVC HANDLER 
i 21 + * 

122+IEAATR00 DS OH 
123+SVZ DS OH 
124+** SH 10,SLMT 



**# 



CORRFCT SVC TABLE INDEX FACTOR. 



126+ 
127+ 

128 + 

129 + 

131 + 

132 + 

133 + 

134+ 
135+** 

137 + 

138 + 

139 + 

140 + 

142 + 
14 3 + 
144+** 

146 + 
147+ 
148 + 
149+ 

151 + 

152 + 

153 + 
154+ 
155+ 
156+ 
157+ 
153 + 

159 + 

160 + 

161 + 

162 + 
163+ 
164+ 
165 + 
166+SVN 
167+ 
168+SVU 
169 + 
170+SVT 

171 + 

172 + 

173 + 

174+OEXIT 
175+ 



DC AL4ISLMT) 

ORG *-4 

DC X«4BA0« 

ORG *+2 

AL" 10,10 QUADRUPLE RELATIVE INDEX FACTOR 

ALR lOtlO FOR SVC-TTR TABLF. 

AL 10,ASVLMT 

L 6,0(0,10) GET TRANSIENT TABLE ENTRY. 

STC 6,SVCPSW+7 PRFPARF FOR SVRB CRFAF AND INI T. 

DC AL4( SVCPSW+7) 

ORG *-4 

DC X'4260' 

ORG *+2 

LH 13,SVC0PSW+2 SVRB CRFATE AND INITIALIZE ROUTINE. 

8AL 2,SVM 

BAL 15,SVCNV CONVERT SVC CODE TO DECIMAL. 



DC 
ORG 
DC 
ORG 

LR 

LM 

SRL 

L* 

NR 

XR 

SRL 

SFH 

STH 

STM 

ST 

CLR 

BC 

LR 

BALR 

DC 

USING 

DS 

01 

LM 

LM 

L 

BALR 

SVC 

DROP 



LOAD CONSTANTS 
TTR&SIZF 



AL4( SVCNV) 
*-4 

X•45F0 , 
* + 2 

13,6 

6,9,DXFINCH0 

13, ^ ISOLATE 

11,2047 

11,13 

13,11 

13,3 

ll,XR8Q(0, 1) 

ll,XRBQ+2(0, I) 

13, 14,XRBNM( 1) STORE NAME IN SVRB 

9,XRBEP(0,1) STORE ENTRY POINT IN SVRB 

14,8 Q. CURRENT SVC RESIDES IN XSNT. 

8,SVU 

10,5 

8,6 

X»000E» FINCH PARAMETER. 

SVN.8 

OH 

XSTAB(5),X« 10* FLAG SVRB AS TRANSIENT. 

0, I ,XRBREG(5) LOAD PARAMFTFR REGISTERS. 

13, 15,XRBPEG+52(5) LOAD SVC PARAMETER RE( 

6,XRBEP{0,5) 

14,6 

8 



IEAAfA, EXIT AND TRANSIENT AREA HANDLER 

LOC OBJECT CODE ADDR1 AODR2 STMT SOURCb STATEMENT 

0OOOO0 00000000 177+TSRFT DC VUNT025) IOS 12*-RETURN ROUTINE ADDR. 

0OO0D4 00000000 178+ASVLMT DC A(SVLMT) 

0000D8 00000000 179+DXFINCH0 DC A(IEAOFNOO) 

OOOOOC 0000000000000000 180+XSNTCC DC XL8«00' NAME ASSOCIATED WITH CURRENT XSNT, 

0000E4 OOOOGOOO IRl+XSNTLOFP DC A(IFAAXSNT) TRANSIENT AREA ENTRY POINT. 



> 

CO 
CO 



Appendix 24 



IEAATA, EXIT AND TRANSIENT AREA HANDLER 

LCC OBJECT CODE ADDR 1 ADDR2 STMT SOURCF STATEMENT 

183*-*** EXIT PROGRAM *** 



0000E8 
0OOOE8 



0000E8 OOOOCCOO 
0O00E8 
0000E8 58CO 
OOOOEC 



OOOOEC D23E 
OOOOEE OOOOCOOO 
OOOOEE 
OOOOEE 4030 
00OOF2 



0000F2 00000001 





0000F2 








0000F2 


940F 




> 


0000F6 






1 








0000F6 


D502 


0025 


— ■ 


OOOOFC 


4770 


CUB 




000100 


58E0 


4004 




000104 


9200 


EOOO 




000108 


98D2 


Fooa 




00010C 


5000 


02 4 




000110 


9830 


403C 




000114 


8200 


0020 




000118 








000118 


18A5 






00011A 


580A 


001C 




OOOilE 


91C0 


AOOA 




000122 


4740 


C1D6 




000126 


4770 


C154 




00012A 


9510 


AOOA 




00012E 


4770 


C14E 




000132 


94EF 


AOOA 




000136 


5880 


A018 




000 13A 


4100 


BOOB 




00013E 


9220 


3 012 




000142 


0A09 






000144 


5880 


•3 02 




000148 


12BB 






00014A 


4770 


C13A 



00000 



00020 



ooooa 



0000A 



OOOOA 



00012 



00118 
00004 

00008 
00024 
000 3C 



OOOIC 

00106 

00154 

0014E 

30018 
00008 



00G20 

0013A 
00014E 

00014E 0203 4068 0014 00068 00014 
000154 94BF AOOB OOOOB 
000158 1504 
00015A 4770 C168 30168 



185+IEAAXT 


OS 


OD 


186+IGCC03 


OS 


OH 


187+** 


L 


12,SVEX 


189+ 


DC 


AL4(SVFX) 


I -*0 + 


ORG 


*-4 


191 + 


DC 


x'53C0' 


192 + 


ORG 


*+2 



SET BASE ADDRESS. 



194+** MVC TCRGRS(64,4),SVCSAV ,OVE REGISTERS TO TCH. 



196 + 

197 + 

19* + 

199 + 

200 + 

202+** 

204+ 
205 + 
206+ 
207+ 

209 + 

210 + 

211 + 

212 + 

213 + 

214 + 

215 + 
216+ 
217+DXA 
218+ 
219+ 

220 + 

221 + 

222 + 

223 + 
224+ 
225+ 
226+ 
227+DXP 
223 + 
229 + 

2 30+ 

231 + 

232 + 
233+0X0 
234 + 
235+DXC 
236+ 
237 + 



DC 


X'D23F' 


DC 


AL4( SVCSAV) 


ORG 


*-4 


DC 


AL2(X'4000'+TCBGRS) 


DRG 


* + 2 



RESFT SVC TYPE 1 SWITCH 



NI SVF+1,X'DF« 

DC AL4(SVF+1) 

ORG *-4 

DC X'940F' 

ORG *+2 



CLC SVC0PSW+5(3), PINPSW+5 

BC 7,DXA 

L 14,TCRPIE(0,4) GET P.I.F. ADDRESS. 

MVI 0(14), FLAG P. I.E. 'RE-ENTRANT'. 

LM 13,2,8(14) RESTORE P. I.E. REGISTERS. 

ST 13,SVC0PSW+4 INITIALIZE RESUME ADDRESS. 

LM 3, 13,TCBGRS+12(4) RESTORF REMA I N I NG REGI STERS. 

LPSW SVCOPSW 

DS OH 

LR 10,5 

L 13,XR8LNK( 10) GET 

TM XSTABt 10) ,XIRB Q. 

BC 4,DXB 

BC 7,DXC Q. RETURNOR 

CLI XSTABI 1.0) ,XNSVRB Q. RB IS NON-LOADED 'MAJOR 

RC 7,0X0 

NI XSTABI 10) ,255-XNSVRB TURN OFF 'MAJOR' INDICATOR. 

L ll,XRBQ(0, 10) GET FIRST 'MINOR' RB. 

LA 0,8(0,11) POINT TO NAME TO BF DELETED. 

MVI XSTAR+R( 11) ,X'20' RFMOVE MINOR FLAG FOR DELETE. 

SVC 9 DELETE 'MINOR'. 

L ll,XRBQ + 8(0, 11) GET NEXT 'MINOR'. 

LTR 11,11 Q. 'MINORS' REMAIN TO DELETE. 

BC 7,DXP 

OS OH 

MVC TCRGRS+56(4,4),XRBPSW+4( 13) SET R14 FROM RESUME ADOR 

NI XSTAB+K 10) ,255-XACTV DEACTIVATE RFTURNING RR 

CLR 13,4 Q. RETURN NOT FROM HIGHEST LFVFL. 

RC 7,DXF 



NEXT RB ADDRESS. 
RB IS IRB OR SIRB. 

IS NOT PRB. 
Q. RB IS NON-LOADED 



IEAATA, EXIT AND TRANSIENT ARFA HANDLER 



> 

to 

I 
N5 



LOC 


OBJECT CODE 


A0DR1 


ADDR2 


STMT SI 


00015E 


9640 


4010 


0001D 




238+ 


000162 


1BU 








239 + 


000164 


0610 








240 + 


000166 


OAOO 








241 + 


000168 










242+OXF 


000168 


50D0 


4000 




00000 


243+ 


000 16C 


91E0 


AOOA 


OOOOA 




2 44+ 


000170 


4770 


C178 




00178 


245 + 


000174 


9602 


AOOB 


OOOOB 




246+ 


000178 


9122 


AOOB 


OOOOB 




247+DXM 


00017C 


4780 


C196 




00196 


248+ 


000180 


4740 


C18A 




0018A 


249 + 


000184 


0233 


4038 5028 


00038 


00028 


250 + 


00018A 


4800 


A008 




00008 


251+OXN 


00018E 


8900 


0003 




00003 


252 + 


000192 


181A 








253 + 


000194 


OAOA 








254+ 


000196 










255+DXE 


000196 










256+DXG 


000196 


91D0 


000 A 


OOOOA 




257 + 


00019A 


4710 


C182 




001B2 


2 5 8+ 


00019E 


18F4 








259+DXQ 


0001A0 


9809 


F030 




00030 


260+ 


0001A4 


0217 


F030 F058 


00030 


00058 


261 + 


0001AA 


9001 


F048 




00048 


262 + 
263+** 


0001AE 


00000000 






265 + 


0001AE 










266+ 


OOOIAE 


47F0 








267+ 


0001B2 










268 + 
270+*** 



SOURCE STATEMENT 



01 
SR 

8CTR 

SVC 

OS 

ST 

TM 

BC 

01 

TM 

BC 

BC 

MVC 

LH 

SLL 

LR 

SVC 

OS 

DS 

TM 

BC 

LR 

LM 

MVC 

STM 



DC 
ORG 
DC 
ORG 



TCBFLGS+K 
lil SET UN 

1,0 

13 

OH 

13,TCBRBP( 

XSTAB< 10) , 

7,DXM 

XSTAB+K 10 

XSTAB+K 10 

8,0XF Q. R 

4,DXN Q. R 

TCBGRS+8(5 

0,XRBSZ(0, 

0,3 

1,10 LOAD 

10 ISSUE F 

OH 

OH 

XSTAB( 13) , 

1 ,DXD 

15,4 

0,9, TCBGRS 

TCBGRS(24, 

0,1, TCBGRS 

IEA0DS 



4),X'40» FLAG TCB NORMAL RETURN. 
IQUE ABEND CODE IN REGISTER 1. 



0,4) DEQUEUE CURRENT R8. 

XLODP RETURNOR IS NOT NORMAL PRB. 

),XDYN CAUSE RB CORE TO BE FRFEO. 
),XREG+XOYN Q. ABNORMAL ACTION REQUIRED 
B CORE IS NOT TO BE FREED 
B DOES NOT HAVE 16 REG SAVE AREA 
2,4),XRBREG+8( 5) MOVE RB REGS TO TCB. 
10) REGO=NUMBER OF BYTES TO BE FREED 

AREA ADDRESS 
REEMAIN SVC 



XSVRB+XNSVRB NEXT RB IS TRANSIENT SVRB. 



( 15) 

15) ,TCBGRS+40( 15) PLACE TCB REGISTERS BACK 

+24(15) IN 10-9 SEQUENCE. 



AL4( IEAODS) 
*-4 

X«47F0' 
* + 2 



TRANSIENT RFFRESH INTERFACE ROUTINE *** 



000.1 B 2 

0001B2 D503 CODC 0000 OOODC 00000 

0001B8 4780 C19E 0019E 



272+IEAARF00 DS 
273+0X0 CLC 
2 74+ BC 

275+** MVI 



OH SVC TRANSIENT AREA REFRESH ROUTINE. 

XSNTCCC4) ,XRBNM( 13) Q. SVC CURRENTLY RESIDES IN XSNT, 

B.DXQ 

SVCPSW+7,1 PASS SIZE TO SVRB REATE ROUTINE 



0001BC 


00000007 


0001BC 






000 1BC 


9201 




0001C0 






0001C0 


185D 




000 1C2 


4520 


COOE 


0001C6 


18A0 




0001C8 


58B0 


C008 


0001CC 


05 8B 




0001CE 


OOOE 




000100 


980F 


5020 


0001D4 


0A03 




000106 






0001D6 


910C 


AOOB 


000 IDA 


47B0 


C228 


00010E 


5810 


A018 



OOOOB 



277+ DC AL4( SVCPSW+7) 

278+ ORG *-4 

279+ DC X'9201' 

280+ ORG *+2 

282+ LR 5,13 

OOOOE 283+ BAL 2,SVH TO SVRB CREATE ROUTINE. 

284+ LR 10,13 

000D8 285+ L ll.DXFINCHQ GO TO FINCH. 

286+ BALR 8,11 

287+ DC X'OOOE* 

00020 288+ LM , 15 , XRBREGI 5 ) RECOVER REGS 0,1,15. 

<^39+ SVC 3 

290+DXB DS OH 

291+ TM XSTAB+K 10), XIQEN12+XIQE 1 2 Q. IRB'S IQE IS NOT 12*. 

00228 292+ BC ll,DXJ Q. IQE IS NOT 12*. 

00018 293+ L lfXRBQ(0»lO) DEQUEUE 12* FROM IRB. 



IEAATA, EXIT AND TRANSIENT «REA HANDLER 



> 

CO 



LGC OBJECT COOt 

0001E2 *37C LOOO 

0001E6 5070 A018 

0001EA 9823 L004 



OOCIEF 


OOOOf 


K";00 


0001EE 






0001EE 


5 8 5C 




0001F2 






0001F2 


58B0 


cooo 


0001F6 


186A 




0001F8 


05BB 




0001FA 


18C* 




0001FC 


000000 00 


0001FC 






0001FC 


58C0 




000200 






000200 


18A6 




000202 


1217 




000204 


4780 


C22« 


000208 






000208 


38F0 


AOOC 


00020C 


50F0 


0024 


000210 


41EC 


COCE 


000214 


5800 


AOOO 


000218 


9101 


0021 


00021C 


4770 


C224 


0C0220 


9200 


0020 


000224 


8200 


0020 


000228 






000228 






000228 


D23F 


4030 


000020 






00022E 


47F0 


C154 



A0UR1 ADDR? STMT 

00000 294+ 
00018 295 + 
00004 296+ 

297+** 

299 + 

300 + 

301 + 

302 + 



SOURCF: STATEMENT 



000 DO 



00021 

CC020 
00020 



00228 

OOOOC 
00024 
OOOCF 
00000 

00224 



A020 00030 00C2C 



00154 



30* + 
305* 
3 06+ 
307 + 

31C + 

311 + 

312 + 

313 + 

315 + 
316+DXL 
317 + 
318+OXI 

319 + 

320 + 

321 + 

322 + 

323 + 
324+ 
3 2 5 + 
326+ 
327+DXJ 
328+DXH 
329+ 
330+TCBFSIRB 

331 + 

332 + 



LH 
ST 
IM 



DC 
ORG 
DC 
ORG 

L 

LR 

BALR 

LR 



nc 

ORG 

or. 

ORG 

LR 

LTR 

BC 

OS 

L 

ST 

LA 

L 

TM 

BC 

MVI 

LPSW 

OS 

OS 

MVC 

EQU 

B 

DROP 



7,0(0,1) 

7,XRBQ(0,10) COMPLFTF 12* OFQUFUF. 

2, 3, Ml) GET I OB AN!) DF B ADDRESSES. 
5,AI0S LOAO IOS BASE ADOR. 

AL4UI0S) 

X« 5850' 
* + 2 

11, TSRFT GFT IDS 12*-RETURN ROUTINE ADOR. 

6.10 SAVE REG. 10. 

8.11 FNTFR IOS 12*-RETURN ROUTINF. 
12,4 RESTORF ADDRESSABILITY. 

12.SVEK RE-ESTABLISH ADDRESSABILITY. 

AL4( SVFX) 

x^sco' 

10,6 

1,7 Q. LAST 12* FOR THIS IRR. 

B,OXH 

OH 

15,XRBFP(0,10) GET IRB ROUTINE FNTRY POINT ADDRESS 

15,SVC0PSrt+4 AND ASSEMBLE RF-FNTRY PSW. 



ADDRESS IN RETURN RFG. 

SAVE AREA ADDRFSS. 
PROBLEM PROGRAM. 

IRB PRIVILFGED. 



14,DEXIT PLACE RETURN 

13,XR8NM{0, 10) REINIT, 

SVCOPSW+1,1 Q. IRB IS 

7,* + 8 

SVC0PSW,0 DISARLE PSW IF 

SVCOPSW RE-ENTER ROUTINE. 

OH 

OC 

TCBGPS(64, 4) ,XRBREG( 10) MOVF IRB REGS TO TCB. 

X'20« TCB, SIR3-IN-PR0CESS INDICATOR. 

OXC 

12 



IEAATA, EXIT AND TRANSIENT ARFA HANDLER 



LCC OBJECT CODE 



ADDR1 ADDR? STMT SOURCE STATEMENT 

334+*** ADDRESS VALIDITY CHFCK ROUTINE *** 



^36+*UPON FNTRY TO THIS ROUTINE REGISTER 7 MUST CONTAIN THF ADDRESS TO 
337**BE CHECKED FOR VALIDITY. REGISTER 8 MUST CONTAIN THE ROUTINE ENTRY 
338+*PJINT, AND 10 THE RETURN ADDRESS. REGISTER 9 MUST CONTAIN EITHER THF 
339+*TCB ADDRESS OR ZERO. IF ZERO IS FOUND IN REGISTER 9 THE CURRENT TCB 
340+*ADDRESS WILL BE RETURNED TO THF CALFR IN REGISTFR 9. UPON RFTURN TO 
341+*THE CALLER REGISTER 7 WILL CONTAIN THE STORAGE KFY IN THF LOW ORDFR 
342+*HYTF f LCFT ADJUSTED, AND THE CONDITION CODE WILL HAVE 4FFN SET TO 8 
343+*(AS IN BC 8,***) FOR A VALID ADDRFSS. IF THE CONDITION CODE IS OTHER 
^44+*THAN 8 THE ADDRESS REING CHECKED HAS BE^N FOUND TO BE INVALID DUE TO 
345+*AD0RESSING 04 PROTECTION. REGISTERS 8 AND 10 WILL REMAIN TRANSPARENT. 
?46+*CALLFRS TO THIS ROUTINE MUST BF PRIVILEGED. THF SYSTEM MASK IS 
347 + *UNI V.PORTANT. 



> 
I 



000007 
C00008 
000009 
OOOOOA 

00023? 
000232 
000232 1299 
000234 4770 BOCA 

000238 00000004 

000238 

000238 5890 

00023C 

00023C 

00023C 5570 801o 

000240 072A 

000242 1B77 

000244 07FA 

000248 



0023C 



00248 



34^+Pl 


FQU 


7 


350+P? 


FOU 


8 


351+R3 


EQU 


9 


352+R4 


EOU 


10 


353 + * 






354 + 


USING 


*,R2 


355+IEAGVL00 


DS 


OH 


356+ 


LTP 


°.3»R3 0. CALLER HAS SU^LIFD TCB A0D3FSS. 


3^7+ 


BC 


7,VLA 


358 + * 


L 


L3,IEATCBP+4 GET CURRENT TCB ADDRE 


359 + 


DC 


AL4( IEATCBP+4) 


360+ 


ORG 


*-4 


361 + 


DC 


X« 5890* 


362 + 


0»G 


* + ? 


363+VLA 


DS 


OH 


3A4 + 


CL 


RliVMCSZ ADDRESS NOT WITHIN MACHINE RANGE 


3 65 + 


BCR 


2,R4 RFTURN TO CALLER WITH CC SET. 


3o6 + 


SR 


R1»P1 


3 6 7 + 


BCR 


15, P4 RETURN TO CALLER WITH CC SET. 


368+VMCSZ 


DS 


IF 


369 + 


DROP 


R2 



00024C 0A28 
00024E 07Ffc 



371+*** TEMPORARY LINKAGE TO IRB CRFATION ROUTINE 

372+IEA1FF00 SVC 43 

373+ BR 14 

3 74 END 



Appendix 25 



NIP SVC TRR TABLE 



LCC OBJECT CODE 



AODR1 A OOP 2 STMT 



SLURLt STATE.MENT 



> 

N 



ocoooo 






COOO01 






C00002 






000003 






C00006 






C00007 






CC0008 






C00009 






COOCOF 






00OD80 






OOODBO 


1888 




0000B2 


4190 


0046 


000DB6 


IB 77 




000DB8 


5860 


Ct>AA 


OOOOBC 


5840 


C3A2 


OOOOCO 


4866 


000 


000DC4 


IB22 




000DC6 


1832 




000DC8 


4337 


4000 


OOODCC 


1B36 




OOODCE 


474C 


C57A 


000DD2 


8930 


0002 


000DU6 


1383 




000DD8 


5830 


C5A6 


OOODDC 


4120 


0046 


OOODEO 


1972 




000DE2 


47A0 


C592 



0C46 

OCFtiC 

00E64 
OOOOC 



00000 

0Ct3C 
00002 

00E68 
OC046 

00FS4 



0000E6 1817 

0OODE8 4E10 C5D6 00E9d 

OCODEC F332 C5B6 C5UB C0E78 00E9D 



000DF2 4100 C5AF 
000DF6 5810 0010 
OOODFA 5811 0054 
OOOOFE 0A12 
OOOEOO 12FF 
000E02 4770 C588 



00E7C 
0C010 
000 54 



00E4A 



000E06 4110 C5B2 00E74 

OOOEOA 48B1 OOOE OOOOE 

OOOEOE 8BB0 0016 00016 

000E12 1B55 

0O0E14 4351 0010 00010 

000E18 8B50 OOOE OOOOE 

000E1C 16B5 

000E1E D201 C5DE 101b OOEAO 0001B 



000E24 4850 C5DE 



OOEAO 



385+* 

386+* 

387+* 

388+R0 

389+P1 

390+R2 

391+R3 

392+R6 

3'33 + R7 

3 94+R3 
395+R9 
3 r ->6+R15 
397+* 

398+IEA0UT2 
399 + 

'♦00 + 
40L + 

402 + 

403 + 

404 + 
405+SVXINIT 

4 06 + 
4 7 + 
408 + 
4C9 + 

410 + 

411 + 

412 + 
<*13 + 

414 + 

415 + 

4 16 + * 

417 + * 

418 + 
419+SVXCONV 

420 + 

421 + * 

422 + * 

423 + * 

424 + 
425+ 
426 + 
42 7+ 
428+ 

429 + 

430 + * 

431 + * 

432+SVXFPUNf) 
433 + 

434+ 

435 + 

436 + 
4?7 + 

438 + 

439 + 

440 + 



DBTAI \ 
AND 
******* 

FQU 



TTR AND LENGTHS OF CLL NGN RESIDENT SVC • S 

SAVE IN SVCEXTNT TABLE 

****************************************************** 



FQU 
EQU 
FQU 
FQU 
EQU 
FQU 
E-QU 
FQU 

FQU 

SR 

LA 

SR 

L 

L 

LH 

SR 

LR 

IC 

SR 

BC 

SLL 

LR 

L 

LA 

C» 

BC 



LR 

CVD 
UNPK 



LA 

L 
L 

SVC 
LTR 

BC 



LA 

LH 

SLA 

SR 

IC 

SLA 

OR 

MVC 

LH 



8,8 

R9, SVPPXLN 

R 7 , R 7 

R6, SLMTAD 

4.SVXPKFX 

R6,0(R6) L 

R2.R2 

R3,R2 

R3,0(R7,4) 

R3,R6 SUB 

4,SVXL00P 

R3,2 MULTI 

8,R3 SAVE 

P3, SVCXTAB 

R2.SVHI LO 

R7,R2 

10, SVXUSER 



R1,P7 

RltSVWAl C 
SVNAM+4( 4) 



LOAD LENGTH OF SVC PREFIX TABLE 



LOAD ADDR OF SVC PREFIX TARLE 
OAO HIGHEST TYPE 1/2 INDEX VALUE 



LOAD VALUE FROM PREFIX TABLE 
LOWEST TYPE TYPE 3 OR 4 VALUE 
BRANCH IF NOT A TRANSIENT FNTRY(NFG) 
PLY BY 4 
FOR STORING TTR 

REG3=AD0R OF SVCEXTNT TABLE 
AD NUM8FR OF HIGHEST IBM SVC + 1 

BRANCH IF USER PROVIDED 
THE NUMBFR OF THF ENTRY IN THF PREFIX TABLE 
IS THE SVC NUMBER IF NOT A USER PROVIDED SVC 

ONVFRT SVC NUMBER TO DECIMAL 
,SVWAl+5(3) UNPACK TO 4 DIGIT VALUF AND 

PLACE IN STANDARD SVC NAMF 



GET DE ENTRY FOR SVC ROUTINE 
RO.SVLST 

R1,16 GET CVT ADDR 
Rl,84(Rl) GET SVC DC B AODR 
18 LINK TO BLDL RQUTINE 
R15,R15 
7,SVXERR BRANCH IF NOT FOUND 



RUSVLST+4 

ll,OETTR(Rl) REGU = TT RIGHT ALIGNFO 

11,22 RFGll=lO BITS OF TT LEFT ALIGND 

5,5 

5,DETTR+2(R1) R5= R RT ALIGNED 

5,14 R5= R ALIGNED TO TT 

11,5 R11=TTR LEFT ALIGNFD 

HWDl?) ,DFLNTH(R1) MOVF LENGTH FIELD 

5,HW0 



AQDR1 ADQR2 STMT 
00003 



> 

N 

Cm 

i 
to 



LOC UBJECT CODE 

000E28 8B50 0003 

000E2C 1665 

000E2E 4150 0007 00007 

000E32 5458 3000 00000 

000E36 16B5 

0C0E38 50B8 3000 00000 

000E3C 4177 0001 00001 

000E40 1979 

000E42 474C C502 00DC4 

000E46 47F0 C5E0 00EA2 

000E4A 1B0C 

000E4C 4207 4000 000CC 

OOOE50 47F0 C57A 00E3C 



000E54 1817 

000E56 1B12 

000E58 4120 OOFF OOOFF 

00OE5C 1712 

000E5E 47F0 C526 00DE8 

000046 
OOOOOE 
00001B 

O00E62 0000 

000E64 OOOOCOOO 

000E68 OOOOCOOO 

000E6C OOOOCOOO 

000E70 0001C024 

000E74 C9C7C3FOFOF0F0FO 

00OE7C OOOOCOOOOOOOOOOO 

0O0E98 

000E98 OOCOGOOOOOOOOOOO 

OOOEAO 

OOOEAO 



SOURCE STATEMENT 



441 + 

442 + 

443 + 
444+ 

445 + 

446 + 

447 + * 
448+SVXL00P 

449 + 

450 + 

451 + 
452+SVXERR 

453 + 

454 + * 

455 + 

456 + * 
4 5 7 + * 
4 5M+* 

459+SVXUSFR 
4 60 + 

461 + 

462 + 

463 + 
464+* 

465+SVPRXLN 
466+OETTR 
467+DELNTH 
46R + * 

464+SVXPRFX 

470+SVCXTA8 

471+SLMTAO 

472+SVLST 

473+SVNAM 

4 74 + 

4 75+ 

4 76+SVWA1 

477 + 

4 78+HWO 



SLA S3 

OR 11,5 R11=TTR + LNGTH LEFT ALIGNFO 

LA 5,7 

N 5,0(8,3) 

OR 11,5 

ST 11,0(8,R3) REGU=TTR + LENGTH + ESA [N TABLE 

LA R7,1(R7) INCREMENT INDEX TO SVC PREFIX TABLE 

CR R7,R9 

HC 4,SVXINIT BRANCH IF MORE TO CHECK 

3C 15,IFAEXIT 

SP 0,0 

STC 0,0(R7,4) CLEAR PREFIX VALUE SO THAT REQUESTS 

FOR THE ROUTINE WILL CAUSE AN ERR 

B SVXLOOP CHECK FOR MORE ENTRIES 

PRINT MESSAGE-ROUTINE NOT FOUND 

GET SVC NUMBER FOR USFR ROUTINE 

LR R1,P7 LOAD INDEX TO PREFIX TABLE 

SP R1,R? SUB HIGHEST IBM SVC + 1 

LA R2.255 COMPLEMENT VALUE TO GFT SVC NUMBER 

XR R1,R2 OF USER PROVIDED SVC 

8C 15,SVXC0NV BRANCH TO GET OF ENTRY 

FQU 70+255-255 TOTAL NUMBER OF SVC'S 

EQU 14 DISP OF TTR FOR TEXT RECORD IN DF ENTRY 

FQU 27 DISP OF LENGTH OF ROUTINE IN DE ENTRY 



DC A(SVPRFX) ADDR OF PREFIX TABLE 

DC A(SVLMT) 

DC A(SLMT) ADDR OF SVC LIMIT VALUE 

DC X , 00010024« INPUT PARAMETER TO BLDL 

DC CMGCOOOOO* STANDARD NAME FOR SVC R0UTINES-1ST 4 CHAR 

DC 7F«0» AREA FOR RETURN OF DF ENTRY FROM BLDL 

DS 00 

DC XLB'OO' WORK AREA TO CONVERT SVC NUMBFR 

DS OH 

DS H 



LOC OBJECT CODE 



AODRi ADDR2 STMT 



SOURCE STATEMENT 





000EA2 












480+ 




DS 


OH 




000EA2 












481+IEAEXIT 


EQU 


* 
















482+*THIS 


ROUTINE 


OPENS L 




000EA2 


18FF 










483 + 




SR 


15,15 




O0OEA4 


1BBB 










484 + 




SR 


1 1,11 




000EA6 


022B 


CD7E 


C0D6 


01640 


01698 


485 + 




MVC 


IEAOST 




OOOEAC 


4590 


C7FE 






OlOCO 


486 + 




BAL 


9.IFAL 




000E80 


19FB 










487 + 




CR 


15,11 




000E82 


4720 


C62C 






OOEEF 


488+ 




BH 


IEANIP 




000EB6 


4580 


C74A 






OiOOC 


489 + 




BAL 


8, IEAR 




OOOEBA 


49A0 


C3F8 






0146A 


490 + 




CH 


I0 t IFA 




OOOEBE 


4780 


C620 






00EE2 


4 91 + 




BF 


IEASAM 




O0OEC2 


1B66 










492 + 




SR 


6,6 CL 




000EC4 


4870 


CCA2 






01564 


493 + 




LH 


7, IFAV 




000EC8 


IC64 










494+ 




MR 


6,4 CO 




OOOECA 


4A70 


CCA4 






01566 


495 + 




AH 


7.IEAV 




OOOECE 


4073 


002 4 






00024 


496 + 




STH 


7,36(3 




O0OED2 


0200 


3026 


CCA6 


00026 


01568 


497 + 




MVC 


3R{ 1,3 




000ED8 


968* 


3003 




00003 




498 + 




HI 


3(3) ,X 




OOOEOC 


D205 


301C 


CCA7 


00C1C 


01569 


499 + 




MVC 


28(6,3 




000EE2 


5810 


0010 






0001G 


500+IE4SAMED 


L 


1,16 R 




OOOEE6 


5811 


0008 






00008 


501 + 




L 


ltCVTL 


> 


OOOEEA 


45E0 


C766 






01078 


502 + 




BAL 


14,IEA 


i 

CO 























INK LIB DEB 



NM(44), IEALNKNM MODIFY OS NM TO LINKLIB 
OCAT BRANCH TO VOLID LOCATION ROUTN 



OVOL BRANCH TO READ DA VOL ROUTINE 

IPL IS LINKLIB ON IPL-ED OEVICF 

ED YES- PERM RES BIT IS SET 

EAR REG 6 FOR MULTIPLY 

TOC REG 7 = CC OF VTOC 

NVERT CC INTO TRACKS 

TOC+2 REG 7 = TT OF VTOC 

) STORE VTOC TT IN LINKLIB UCB 

),lEAVT0C+4 MOVE R OF VTOC INTO LINKLIB UCB 

•84' STATUS A = ONLINE AND PFRM RES. 

),IEAVOLAB PUT VOLUME LABEL INTO UCB 

EG 1 = CVT ADDR 

INK( 1) 

COMON 



Appendix 26 



> 

CN 
I 



MEMBER NAME IEEwTCOl 








GBLC 


fc.SCHDLR 




00020000 




G8LC 


&1EEPG 




00040000 




GBLC 


&IEEPP 




00060000 


SSChDLR 


SETC 


•SSS» 




00080000 


UEEPG 


SETC 


•CMC' 




00100000 


UEEPP 


SEIC 


■OMC 1 




00120000 


MSCED 


IELGMSLT DSECI ,SMBL=YES 




00140000 




IfcfcMIOCS 




00160000 




TITLE 


•wRITE TG CPERATCR/WRITE TO OPERATOR WITH REPLY 1 


00180000 


* 








00200000 


* 




*** wTC/WlCR *** 




00220000 


* 








00240000 


♦ 


Thli> 1 


«IACRG ENABLES THE U: 


SER TG -WRITE A MESSAGE TO THE 


00260000 


* 


OPERATOR AND, if Hfc SO DES IRE S, REQUEST A REPLY. 


00280000 


* 








00300000 


IGC03E 


CSECT 






00320000 




BALR 


dASERLG.C 


ESTABLISH WTG/WTOR 


00340000 




LSINU 


*,8ASLREG 


oASt REGISTER 


00360 JOO 




L 


bAStREGUTVTAOP 


CVT ADR TO P8 


00380000 




L 


bASEREGl, lEEMSLTV(BASEREGi) RES CORE Af)R TO R8 


0400000 




US 1NG 


1LEMSLT, BASEREGl 


ESTABLISH RESIDENT ADDRESSABILITY 


00420000 


* 








00440000 


* 


BtLlN 


P^EUDC-UISABLE 




00460000 


♦ 








0C480000 




L 


bASEREC2,MSAbL 


SUPERVISOR INSTRUCTION ADDRESS 


00500030 




ST 


BASEREG2,MSUCBPR 


RETURN WITH BYTE ADR { BC MASK) SAVED 


00520000 




MVC 


MSLCBALl 1) ,l(BASEREG2) SAVE CURRENT MASK 


00540000 




MVI 


1(BASEREG2),X , F0» 


INSERT DISABLING MASK 


00560000 


♦ 








00580300 


* 


ENL PSEUDU DISABLE 




00600000 


* 








00620000 




ssm 


MSENABLE 


MACHINE ENABLE 


00640000 


* 








00660000 




LR 


SCANREG,PASSREG1 


SAVE LIST PCINTER ADDRFSS 


00680000 




TM 


MSECBFL, M SwTC FIRS1 TIME IN SVC34 OR SVC35 


OC 700000 




BO 


rtTCRETRY NC 


,wAlT ANU CHECK FOR POSSIBLE RETRY 


00720000 




CI 


MSECBFL, MSATTN+MSWTC YES,:>VC3<t AND SVC35 SWITCHES TO UM 


00740000 




LA 


VRBTBL,MSCMO 


RESIDENT BUFFER 


00760000 




ST 


VRBTBL ,CCWRDR 


ADDRESS TO CCW 


00780000 




B 


CONTINUE 




00800000 


WICRETRY 


BAL 


TRBASADR.ERENTRYL 


WAIT AND CHECK FUR POSSIBLE RETRY 


00820000 




ssm 


MSENAbLh 


PERMANENT ERROR, ENAbLE MACHINE , RETRY 


00840000 




B 


RETRYKTU 


RETRY 


00860000 




NOP 


* + 4 


IbNORE OR ERROR FREE 


00880000 


CONTINUE 


LR 


PASSREG1,SCANREG 


RESTORE WTG/WTOR LIST POINTER ADDRESS 


00900000 




TM 


0(PASSREGl),ONES 


WTO OR WTOR 


00920000 




BZ 


wTOADR 


wTO 


0D94COOO 




LA 


SCANREG,8(SCANREG) 


WTOR, POINT TC WTO LIST 


0096CO0O 


WTQADR 


SR 


WURKREG,WORKREG 


CLEAR R6 


00980000 




IC 


WORKREG, USCANREG) 


MESSAGE LFNGTH+4 TO R6 


01000000 




CLI 


1( SCANREG) ,BIT0+BI16 MSG LNGTH+4 .GT. 130 


01020000 




BNF 


LNGTHLE4 


NO, TEST FOR LNUTH .LE. 4 


1040000 


LNGTHBAD 


LA 


WORKREG, 130(0,0) 


YES, MAX MSG LNGTHU30) TO R6 


01060000 




B 


LNGTHUK 




01 080000 


LNGTHLE4 


CLI 


1( SCANREG), BIT5 


MSG LNGTH+BFR HDR LNbTH .LE. 4 


01100000 




BNE 


LNGTHBAD 




01120000 


LNGTHGK 


XC 


MSBCTLh(8),MSBCTLh 


ZERO OUT BUFFER HEADERS 


01140000 




mvc: 


MSHFHI4I.0ISCANRFG1 USER MSG BFR HDR TO RES BFR HDR 


01160000 



> 

O 
K> 



MSGMCVE 
WTURMUVE 



CLEANUP 
MSGAGAiN 



WftfRETRY 

* 
* 



* 
ERR0K1N 



QUUTE 
KTCRLOOP 



SH 
EX 
TM 

bC 

e 

MVC 

MVC 

MVC 

LA 

LA 

LK 

STC 

LA 

STC 

LH 

SH 

STF 

LA 

ST 

MVI 

XC 

SSK 

BAL 

EXCP 

SSf 

TM 
til 

TM 
til 



BAL 

SSM 

B 

NOP 

EQC 

TM 

BZ 

LI 

TM 

BO 

XC 

MVi 

MVC 

MVC 

LA 

ST 

MVI 

XC 



t L L « I OO i 

WORKRLG,PSSSFIVE 
nURKREG, MSGMCVE 
OIPASSREGIJ.ONES 
5,WTGRMGVE 
CLEANUP 

MSCMU( 1) ,4CSCANREG) 



MSG LNbTH-1 OF MSG FUR MOVE 
MOVE USERS KESSAGF TO RESIDFNT BUFFER 
MTO OK wTGR 
WTCR 

WTO 



MSCMD*3< 12 3) ,4(SCAhREG) 
MSCMD13) ,ZZB 

*GRKREG, 3(hGRKREG) 
wURKREb, 5( kQRKKEG ) 
SCANUfcGf PASSREG1 
w(JRKkEG,MSBFH+1 
wGRKREG,4( WGRKREo) 
wGRKREG,MSBCTLH+l 
PASSRECl,MSBEH 
RASSREG1.MSSSFUUK 
PASSREGlf CCWROR+6 
PASSRCUO.CCWRDR 
PASSREGO,CCWAI 
CCWRDR ,X«09« 
ECBRDR14) ,ECBRDR 



wtur,mso offset 3 char to 
reply id (00 ) precfeding 
Increment msu tfngth by 3 

^>AVE fcTC/WTUR LIST POINTER 
MSG LNG1H+4 TO MSBFH+1 



MSG LNbTH+8 TO MSBCTLH+1 
MSU LNGTH+4 TO Rl 

DECREMENT Rl TO ACTUAL MSG LNGTH 
MSG LiNiGTH TO CCwRDK 
CCW ADDRESS 

TO IGB 
1052 WRITE LGMMANL) TO CGW 
CLEAR ECB 



RIGHT 

MSG 



*+l 

RETURN, CUNSWlCh 

IGBRCR 

MSENAbLE 

C( SCANREG) ,GNES 
ERRORTN 

ECBROR.BiU 
*-4 



MACHINE UISAdLE 

CHECK FUR EXl INT (ALT CONSOLE) 

MACHINE ENAttLE 

ImTC GR WTCR 
WTO 

WTOR.HAS CH END BlEN RUSTED FOR WTO 
NO, LOOP UNTIL POSTED 



*** FULL ERROR TESTS MADE *** 



TRBASAGR.ERENTRY2 

MSENABLE 
rtKlKETRY 
*+4 



CHECK FOR 

PERMANENT 

RETRY 

1GNCRE GR ERRCR FREE 



PGSSIBLE RETRY 

ERROR, ENABLE MACH INE , RETRY 



X'7D' QUOTE MARK 

0(SCANREG),ONES 

WTOEXIT 

MSFbF,BlT4 

MSFrtF,BIT4 

*-4 

MSBCTLH18) tMSBCTLH 

MSCMD, BLANK 

MSCMD+K 125),MSCMC 

CCWR0R+6(2),RDRCGCNT 

PASSREGO, CCWRDR CCW 



PASSREGO, CCWAI 

CCWRDRfX^A' 

ECBRDR(4),ECBRDR 



WTC OR WTOR 

WTC 
*T0R,BIT4 TO GN 
PSEUDO-wAIT 

FUR ATTENTION 
ZERO BUFFER HEADERS 
BLANK OUT 
COMMAND BUFFER 

CHAR COUNT OF 126 TO CCW 
ADDRESS 
TC IGB 
1052 READ COMMAND TO CCW 

CLEAR ECB (INITIALIZATION) 



01180000 
01200000 
01220000 
01240000 
01260000 
01280000 
01 300000 
01320000 
01340000 
01360000 
01380000 
01400000 
01420000 
01440000 
01460000 
01480000 
01500000 
01520000 
01540000 
01560000 
01580000 
01600000 
01620000 
01640000 
01660000 
01680000 
01700000 
01720000 
01 740000 
01760000 
01780000 
01800000 
01820000 
01840000 
01860000 
01880000 
019C0000 
01920000 
01940000 
01960000 
01980000 
02000000 
02020000 
02040000 
02060000 
02080000 
02100000 
02120000 
02140000 
02160000 
02180000 
02200000 
02220000 
02240000 
02260000 
02280000 
02300000 
Q 2 32 Q Q Q0 



MEMBER 


NAME 


lEErtTCOl 




SSM 


*+l 


* 








BAL 


RETURN, CONSW1CH 


* 








EXCP 


1CBRDR 


* 








SSf 


MSENABLE 


* 








TM 


EC8RDR,BIT1 




8Z 


*-4 



MACHINE DISABLE 

CHECK FUR EXT INT (ALT CONSOLE) 

MACHINE ENABLE 

HAS THE READ BEEN POSTED 
NO, LOOP UNTIL POSTED (PSEUDO-WAIT) 



> 

O 
I 
CO 



* 
* 

1M 

BO 

eAL 

SS* 

e 

NOE 

LH 

SH 

LA 

LA 

STC 

LA 

STC 

LA 

SCANBUFR LA 
CLl 
BE 
CLC 
BNE 
LA 

REPLYID LA 
CLl 
BE 
CLC 
BNE 
LA 
LA 
CLl 
BNE 

TEXTLOCP CR 
BNL 
LA 
CLl 
BNE 
LA 
CLl 
BE 
SR 

BCTR 
LIR 
BZ 
L 
SRL 

RITGR5 LR 
££ 



*** FULL ERROR TESTS MADE *** 



CSwRDR*4,BIT7 

WTORLGCP 

TKBASALR,ERElNiTRY2 

MStNAdLE 

wTCRLCCP 

* + 4 

NTRYSlZE,CCWkDR+6 

NTRYS1ZE,CSWR0R*6 

LASTNTRY,8(6ASERE 

NTRYS1ZE,4(NTKYSI 

NTRYSIZE,MSBFH*1 

NTRYSIZE,4(NTRYSI 

NTRYSIZE,MSBCTLH+ 

wORKREb,7<BASEREG 

WORKREG, K WORKREG 

O(WORKREG), BLANK 

SCANBUFR 

G(6,WURKREG) ,REPL 

READOVER NO, 

WORKREG, 4( WORKREG 

WORKREG, KWORKREG 

O(wORKREG) , BLANK 

RtPLYlO 

0(3, WORKREG) ,ZZCC 

READOVER NO, 

INDEXER, ^(WORKREG 

WURKREG,3(WORKREG 

C(wORKREC),QUarE 

READOVER NO, 

WORKREG, LASTNTRY 

READOVER NO, 

WORKREG, KWORKREG 

C( WORKREG), QUOTE 

TEXTLOCP 

rfURKREG, KWORKREG 

O(wORKREG) , QUOTE 

TEXTLOCP 

WORKREG, INDEXER 

WORKREG,0 

wGRKREG, WORKREG 

POSTECe REPLY LE 

PASSREG1,C(SCANRE 

PASSREGW24 

LASTNTRY.PASSREG1 

PASSRE^itHQRKREG 



WAS MSG C 
YES,RETR 
NO, CHECK 
PERMANENT 
RETRY 
IGNORE UK 
FAX MSG S 
MAX MSG S 
Gl.NTRYSIZE 
ZE) MSG 
TC 
ZE) MSG 
I TO 
1,0) POIN 
,C) SCAN 
SKIP LEAD 
BLANKS 
Y REPL 
WRITE ERR M 
,C) YES, PCI 
,C) SCAN FO 
SKIP LEAD 
dEHORE R 
NNA REPL 
WRITE ERR M 
,C) POIN 
,C) POIN 
MSG TEXT 
WRITE ERR M 
YES, MSG 
WRITE ERR M 
.C) 

QUOTE M 
NCLGO 
,C) YES 

DOUBLE 
YES 
NO, DUN 



ANCELED (UNIT FXCEPTION) 
Y 
FCR PUSSIBL 

ERROR, ENABL 



E RETRY 

E MACHINE, RETRY 



ERROR FREE 
IZE TO R^ 
IZt-RESIDUAL 
) ADR OF LAS 
LNCTH+4 
MSbEh+1 
LNGTti + 6 
MSBCTLH+1 
T TO RES BUF 

RES BUFR 
INo 

Y ECR WTOR C 
SG»REPEAT RE 
NT TO -Y- IN 
R REPLY ID 
1NG BLANKS 
EPLY ID 

Y ID = 00, 
SG, REPEAT RE 
T INDEXER TO 
T WORKREG TO 

START WITH 
SG.REPEAI RE 

TEXT END Wl 
SG, REPEAT RE 

ARK 
P 



MSG SIZE=ACTUAL 
T CHAR+l TO R5 



R-l 



ORKECT 
PLY 
REPLY 



PLY 
MSG TEXT ADR 
QUOTE 

QUOTE 

PLY 

TH QUOTE 

PLY 



QUOTE MARK 

E-COMPUTE MSG REPLY LNGTH 



NGTH=C,POST USERS E Cd AND RETURN 
G,U) REPLY LNGTH AND ADR TO Rl 

SHIFT LENGTH TO LOW ORDER BYTE 

COMPARE GIVEN VS. COMPUTED LENGTHS 



02340000 
02360000 
02380000 
02400000 
02420000 
02440000 
02460000 
02480000 
02500000 
02520000 
02540000 
02560000 
02580000 
02600000 
02620000 
02640000 
02660000 
02680000 
02700000 
02720000 
02740000 
02760000 
02780000 
02800000 
02820000 
02840000 
02860000 
02880000 
02900000 
02920000 
02940000 
02960000 
02980C00 
03000000 
03020000 
03040000 
03060000 
03080000 
03100000 
03120000 
03140000 
03160000 
03180000 
03200000 
03220000 
03240000 
03260000 
03280000 
0330000P 
03320000 
03340000 
03360000 
03380000 
03400000 
03420000 
03440000 
03460000 
03480000 



MEMBER NAPE 1EEWTCC1 

8L REAOGVtR GIVEN Lbhtk WRITE ERR MSG, REPEAT kEPLY 03500000 

R6TQR5 LR LASTM RY , fcCRKKEG COMPUTED LOWER 03520000 

BCTR LASTNTRY,C 03540000 

L *uRKREo,C(SCANREG) REPLY ACURESS 1U R6 03560000 

EX LASTN] kY.RPLYMOVE MGVE REPLY TL USEkS AREA 03580000 

PGSTECO L PASSREG1 ,4(SCANREb) USERS ECB ADDRESS TO Kl 03600000 

* 03620000 
POST (1) 03640000 

* 03660000 

* _ELli\ PSEbDC-ENAHLE 03680000 

* 03 7G0O00 

* 3 720000 
wTUEXIT SSJ* *«-l MACHINE UlSAoLE 03740000 

* 03760000 
L l:ASEREG2,MSUCBPk RESTCkE Rll 03780000 
PVC 1 < l,GA_EkEU2) ,M_UCEAL RES I ERE PREVIOUS MASK 03300000 

* 03820000 

* ENC PSLUDu-EKAbLE 03840000 

* 03860000 
SVC EXIT *** taTU/HUK TEKN'INAIEO *** 03880000 

* 03900000 
RPLYMCVE MVl G ( 1 , WCRKREb ) , H NC £ XER ) MCVh RfcPLY TO USER'S REPLY AREA 03920000 

* 03940000 
CCNSwlCH L Ii\OEXEi<,TVTACR LVI ADDKESS TC k7 03960000 

LA NTRYSIZE,20< INDLxER ) APPENDAGE TABLE AUDREYS Tj R4 03980000 

L 1NCEXER, IEECUCBTI INOEXER ) <+ fcCRC UCB TABLE ADR TU R? 04000000 

TM 0( INDEXER) ,B1T0 PRINCIPAL CR ALTERNATE UCH 04020000 

BG *+8 PR1KLIPAI 04040000 

> LA lNDEXEKtdl INDEXER ) AL 1 t RN A T E , PC I NT TJ PRINCIPAL 04060000 

£> j*VC UC_PTRI(3) ,H INDEXER) PRINCIPAL UCH ADR TO QEB 0408G000 

I MVL APN0GAC1 I 3) , 1( NTRYSi-L ) APPENUaoL TArcLE AUORESS TO DEB 04100000 

^ BR14 BR RETURN 04120000 

* 04140000 

* 1052 ERRLR ROUTINES EUR SVCS 34 AND 35 ' 04160000 

* 04180000 
ERENTRY1 TM ECBRDR.BITI HAS ChANNEL EKE BEEN POSTED EOR 04200000 

BZ *-4 PREVIOUS SIC CCfMANO. NO, LOOP TILL POSTED 04220000 

ERENTHY2 TM ECBRDR.X^F" POST CODE = 7F Ck 00 ECR PREVIOUS SIO 04240000 

BM EKENTRY4 NO, ERROR CHECKINb REQUIRED 0426C000 

ERENTKY3 MV1 CCWR0R-»5,Z ZERC EXCP ERRCR CCUNTER 04280000 

B B1T4< TRBASAOR) RETURN TO ERROR EREE E.P. 04300000 

EHENTKY4 M CCBRDR +44 , X • CC ' CLEAR DCB FLAGS 04320000 

TM EGBRDR,X•44• HA_ i/U REQUtST liFLN INTERCEPTED (DE/UK) 04340000 

EE BIT5(TRBASADR) YES, RETRY PRfcVICGS EXCP 04360000 

TM EGBROR^Me' HAS 1/0 REQUEST BEEN PURGED OR NOT STARTED 04380000 

BE BIT5(TRBASAUR) YES, RETRY PREVIOUS EXCP 04400000 

L bl'JKKKfcGf TVTADR FIND EXTtNDFC SAVE AREA - R6=CVT ADR 04420000 

L *ORKREG,0<WGRKREG) OBL WRO 04440000 

L *GRKREG,4( WGRKREG) TCB 04460000 

L wORKREG.CUORKREo) R6-ACTIVE 04480000 

LA *GRKREG,S6(WCRKREG) RB ( 32 > +RE GS f 64 ) =96 04500000 

MVC G{8,WGRKR£G),G0NGCCW ALARK CEANNEL COMMAND SAVED 04520000 

MVC 8(2,wURKREG), 10BRCR+2 1UW SENSE BYTES AND CSrt STATUS 04540000 

MVC lG(2,*0RKREG),CSwkCR+4 dYTES TG EXTENDED SAVE AREA 04560000 

ST hURKKLCCCfcAi bONG CCW ADDRESS TO CCWAI 04580000 

MV1 MSERM+UZ CLEAR GGNG ERROR COUNTER 04600000 

GGNGTfcC XC ECBRDR(4),ECBRDR CLEAR ECB 04620000 

♦ Q464QQ0Q 



MEMbLR NAME I 
SSM 



EAL 

EXCP 

SS* 



L L W T C L 
*+l 

RETURN, CCNSWICH 

lCBRUR 

FSENABLE 



> 

K> 
O 
I 



IM 

bi 

1M 

bM 

TM 

bO 

1c 

SLL 

SIC 

Ci 

B 

GCNOCNT TM 
bE 
IC 
SLL 
STC 
Ci 
B 

EREN1RY5 MV i 
LA 
L 

KVL 
LL1 
BE 
LPSw 

PSWCUT LPS* 

REALLVER MVC 
LA 
B 

* 

RETRYwTG LA 
ST 
XL 
MVl 

SS^ 

8AL 

EXCP 

SSP 



* 
* 

PERMERk 



ER 

MJPR 

B 



EcE-R 

i-^i 

ECHR 

u N o 

LtwK 

EkFN 

iiASt 

bASE 

CASE 

CuwR 

riIT5 

MSER 

B1T5 

BASE 

bASE 

dASE 

MSER 

OL.KG 

CChR 

RETU 

bASE 

C(2, 

CcaR 

PiWO 

RtAD 

hK iT 



GR,BiT 1 
•7F» 
, E 1 T 5 

ROR + 5 



OR ,X 
CM 
DK + 5 
TRY5 
,CCk 
tl 

, CCw 
DR + 5 
( 1KB 
M+l, 
( TRB 
,MSE 
, 1 

,KSE 
M+l, 
1 rtC 
DR+5 
RN,P 
t 8U 
0) ,ii 
Uk ,X 
UT 
PSw 
EPSw 



YE 



R C R + 5 
, Li I T 7 
ASADR 
X»C3« 
ASADR 
RM+l 

RM+ I 
EIT7 

,7 

ERMER 
CRKRE 

•C9* 



) RE 

HAS 

) YE 

NU 



RET 
ZER 
R 

G) 
BR 
REA 
WR 
Rt 



MACHINE DISABLE 

CHECK FCR CONSOLE SWITCH 

MACHINE ENABLE 

HAS bCNG EEEN RUNo (POSTED) 

NO, LOOP UNTIL POSTED 
C C fu> KING C K 

N0,RET,<Y OCNO 
HAS MAX NC LF tXCP »ETkYS BEEN GIVEN 
S,UGTC PERMANENT ERROR 
NC, ERRCR COUNT TG R15 

SHIFT LEU 1 BIT 
ERRCR CLUNT BACK TJ STORAGE 
INCREMENT ERROR COUNT oY 1 
TCRN FGR RET«Y 

GONG HELN RETRYED MAX NO OF TIMES 
S,RFTURN 
♦LPDATE 
GGNG 
ERROR 
CCuNTtR 
RY GGNG 
C ERRCR COUNTER 



ICB SENSE AND CSw 
14 INSTRUCT IGN TO 
G CR WRITE CCMMAND 
ITE CCMMAND, GC LOAD WRITE 
AC COMMAND, I CAD READ PS« 



STATUS BYTFS TO R15 
LOCATION 



PSW 



MSCMD(26) .ERRMSO ERkCR MESSALE TG RESIDENT BUFFER 
nUK*REG,3C ERROR MESSAGE LENGTH+4 TG wURnREG 
MSbAGAIN WRITE GUT MESSAGE 



PASSREGG ,CCWROK 
PASSREGO,CCwAI 
ECbRUR (4},ECbR0k 
LuWKDR , X'OS* 

*+l 

RE lURN,CCNSrtlCH 
lCbRUR 
MSENAbLE 
'rtTCRETRY 



CCW ADDRESS 

TG I Go 
CLEAR ECB 
1052 WRITE COMMAND TO CCW 

MACHINE DISABLE 

CHECK EGK EXT INT (ALT CONSOLE) 



MACHINE ENABLE 

RETURN FCR HA1T AND POSSIBLE RETRY 
PERMANENT ERROR - REFGRN FCR MORE RETRIES 



T^bASACR 
IRBASACR 
ERENTRY3 PERMANEM ERRCR - IGNORE IT AND PROCEED 



04660000 
04680000 
047C0000 
04720000 
04740000 
04760000 
04780000 
04800000 

048 200 00 
04840000 
04860000 

04 3*00 00 

049 CO 000 
04920000 
04940000 
04960000 
0-+9H0C.00 
500000 3 
0502000'^ 
504 00 OG 
C50<S0000 
05080000 
051CO00O 
05120C0C 
05140000 
05160000 
0518G000 
05200000 
05220000 

05 240000 
05260000 
05280000 
053C0000 
05320000 
05340000 
5360000 
05380000 
05400000 
05420000 
05440000 
05460000 
05480000 
05500000 
05520000 
05540000 
05560000 
05580000 
05600000 
05620000 
05640000 
05660000 
05680000 
057C0000 
05 720000 
05 740000 
05760000 
05780000 
Q 5 8C00QQ 



> 

o 
I 



MEMbER NAME iEEwTCOl 

CS CO 05820000 

REAliPSW CC X«FF« SYSTEM MASK 05840000 

CC X'C2' PROTECTION KEY.AMwP 05860000 

CC X'OGOO 1 INTERRUPTION CODE 05880000 

CC X'CO' iLC,CC,PRCGRAM MASK 05900000 

CC X l LOCEOC» ERRLH CODE FCR ERROR DURING CUNSOLE READ 05920000 

WRITEPSW CC X'FF' SYSTEM MASK 05940000 

OC X«C2» PROTECTlCf 1 . KEY.AMWP 05960000 

CC X'COOC INTERRUPTION CODE 05980000 

CC X'CO" 1LC,CC»PRCGRAM VASK 060C0000 

CC X'COOEul' ERRL* CCOE FUR ERROR DURING tONSGLE WRITE 06020000 

GCiMGCCh CC X'CB' GCNU COMMAND 06040.000 

CC X'CCUCOO' 06060000 

CC X^OCG' WRONG LENGTH RECCRD INDICATOR 06080000 

RDRCUUNT CC FL2 , 126» 06100000 

MSSSFUUR CC M4« 06120000 

MSSSMVt CC h'5' 06140000 

lib DC C'CC • REPLY I IJ = (CC ) C6160000 

MSENAdLE CC X'fF' MACHINE ENAbLE MASK 06180000 

REPLY CC Cl6'REPLY» VERE=(REPLY ) 06200000 

ZZCOMMA CC COO,' REPLY ID IN REPLY 06220000 

ERRMSo CC C'lEtCCdA FRRUR-RFPEAT REPLY* 06240000 

ENC 06260000 

END GF DATA FOR SDS CR MEMbER 



Appendix 2 7 



> 

to 

I 





ATPLISTPCH 


LISTING OF 


IECPFIND-S HJN - 05667 




0002 


- 


riTLE • IGC018 - 


- FIND/BLDL AN TTR CONVERT POUTINES' 


0002 


0004 


♦FUNCTION 


- THIS RESIOfcNT MODULE SEARCHES A DIRECTORY OF A PARTITIONED 


0004 


0006 


♦ 


ORGANIZATION DATA SET FOR A NAME OR LIST OF NAMES, AND 


0006 


0008 


* 


RETURNS INFORMATION STORED IN THE DIRECTORY ASSOCIATED WITH 


OOOB 


0010 


* 


EACH NAHH. THE FORMAT OF THE DIRECTORY AND OF THE RETURNED 


0010 


00 12 


* 


INFORMATION 


IS DESCRIBED IN THE PUBLICATION 'CONTROL 


0012 


0014 


♦ 


PROGRAM SERVICES' UNDER THE TOPIC 'BASIC PARTITIONED ACCESS 


0014 


JO 16 


♦ 


METHOD'. 




0016 


go i a 


* 






0018 


0020 


* 


THIS MCOULE 


ALSO CONTAINS ENTRY POINTS TO ROUTINES WHICH 


0020 


002 2 


* 


CONVERT AN ABSOLUTE DIRECT ACCESS ADDWFSS, MBBCCHHR, TO AND 


0022 


00 24 


* 


FROM ITS RELATIVE EQUIVALENT, TT«. 


0024 


00 26 


* 






0026 


0028 


♦ENTRY POINTS — 




0028 


0030 


* 


IGC018 


-ENTERED FROM SVC SUPERVISOR AFTER MAINLINE 


0030 


0032 


* 




CODE ISSUES SVC 18 IN A CALLING SEQUENCE 


0032 


00 34 


♦ 




GENERATED BY ONI: OF THE FOLLOWING MACROS — 


0034 


00 36 


* 






0036 


0038 


* 




FIND DCBADDR,NAME-AODR FIND MACRO 


0038 


0040 


* 






0040 


0042 


* 




LA OfNAMFADOR GN 


0042 


0044 


♦ 




LA 1,DC'*A'>DR GN 


0044 


0046 


* 




LCR 1,1 GN 


0046 


0048 


* 




SVC 18 GN 


0048 


0050 


* 






0050 


0052 


* 




PLDL UCPADDKiLISTAnDR BLDL MACRO 


0052 


0054 


* 






0054 


0056 


* 




LA 0,LISTADOR GN 


0056 


0058 


♦ 




LA I, OCR A DDR GN 


0058 


0060 


* 




SVC 18 GN 


0060 


0062 


* 






0062 


0064 


* 


IECPHUL 


-ENTRY VIA A bALk IN ORDER TO BYPASS SVC ENTRY 


0064 


0066 


« 




TO BLDL AND IN ORDER TO SUPPLY A WORKAREA TO 


0066 


0068 


* 




BLDL. REGISTER CONVENT IONS UPON ENTRY AND UPON 


0068 


0070 


* 




EXIT ARE AS FOLLOWS — 


0070 


00 7 2 


* 






0072 


0074 


* 




REGISTER ENTRY EXIT 


0074 


00 76 


* 




BLDL LIST ADDRESS DESTROYED 


0076 


00 7b 


* 




1 PCti ADDRESS DESTROYED 


0078 


0080 


* 




2-12 IGNORED DESTROYED 


0080 


0082 


* 




13 400 BYTE TRANSPARENT 


0082 


0084 


* 




WORKAREA ADDRESS 


0084 


0086 


* 




14 RETURN ADDRESS TRANSPARENT 


0086 


0088 


* 




15 IGNORED ERROR CODE 


0088 


0090 


* 






0090 


0002 


* 


iecpki rv 


-ENTRY TO RUUTINt VIA A BALR THAT CONVERTS AN 


0092 


0094 


* 




ABSOLUTE DIRECT ACCESS ADDRESS, MBBCCHHR, INTO 


0094 


0096 


* 




ITS RELATIVE EQUIVALENT, TTRO. REGISTER 


0096 


0098 


* 




CONVENTIONS UPON ENTRY AND UPON EXIT ARE AS 


0098 


0100 


* 




FOLLOWS — 


OLOO 


0102 


* 






0102 


0104 


# 




REGISTER ENTRY EXIT 


0104 



> 



C6 105 ATPLISTPCH LISTING OF IECPFIND-S HJN - 05667 

0106 * IGNORED TTRO RESULT 0106 

0108 * I 0E8 ADDRESS TRANSPARFNT 0108 

OHO * 2 AODRESS OF TRANSPARENT 0110 

0112 * MB3CCHHP IN CORE 0112 

0114 * 3-8 IGNORFO TRANSPARENT 0114 

0116 * 9-13 IGNORED DESTROYED 0116 

0118 * 14 RETURN ADDRESS TRANSPARENT 0118 

0120 * 15 ENTRY ADDRESS ZERO 0120 

111? * 012? 

0124 * IECPCNVT -ENTRY TO ROUTINE VIA A BALR THAT CONVERTS A 0124 

:)l2t> * RELATIVE DIRECT ACCESS ADDRESS AND 0126 

0128 * CONCATENATION NUMBER, TTRN, INTO ITS ABSOLUTE 0128 

0130 * EQUIVALENT, M'WCHHR. REGISTER CONVENTIONS 0130 

13? * UPON ENTRY AND UPON EXIT ARE AS FOLLOWS — 0132 

013'+ * 0134 

0136 * REGISTER ENTRY EXIT 0136 

01.3* * ACTUAL T'fPN DESTROYED 0138 

0140 * 1 I--FR AOORESS TRANSPARENT 0140 

014? * 2 AODRESS OF 8 BYTE TRANSPARENT 0142 

0144 * AREA FOR MBBCCHHR 0144 

0146 * 3-8 IGNORED TRANSPARENT 0146 

0148 * 9-13 IGNORFO DESTROYED 0148 

0150 * 14 RETURN AODRESS TRANSPARENT 0150 

0152 * 15 ENTRY ADDRESS ERROR CODE 0152 

N) 154 * 0154 

*JJ 0156 * THE ERROR CODE FOR IECPCNVT WILL BE FOR 0156 

Nj 0158 * SUCCESSFUL CONVERSION, OR 4 IF VALUE OF TT 0158 

0160 * EXCEEDS TOTAL EXTENTS ASSIGNED. 0160 

0162 * 0162 

0164 * INPUT -INPUTS TO TGC018 ARE AS DESCRIBED UNDER 'FIND' AND ■BLDL 1 0164 

0166 * MACROS IN CONTROL PROGRAM SERVICES MANUAL. 0166 

0168 * 0168 

0170 * -INPUT TO IECP8LDL IS AS OFSCRIBfcD ABOVE UNOER ENTRY POINTS. 0170 

0172 * THE BLDL LIST HAS THE SAME FORMAT AS WHEN EXECUTING THE MACRO 0172 

0174 * WITH THE FOLLOWING ADDITION — IF THE NUMBER OF FIFLDS, FF, IS 0174 

0176 * ZERO, IT REALLY MEANS ONE FIELD BUT THAT BLDL«S SEARCH IS TO 0176 

0178 * START AT BLOCK IDENTIFIED BY TTRO IMMEDIATELY FOLLOWING NAME 0178 

0180 * IN LIST. 0180 

0182 * 019? 

0184 * -INPUTS TO IECPRLTV AND IECPCNVT ARE DFSCRIBED ABOVE UNDER 0184 

0186 * ENTRY POINTS. 0186 

0188 *OUTPUT -OUTPUTS FROM IGC018 ARE AS DESCRIBED UNDER, 'FIND' AND 'BLDL* 0188 

0190 * MACROS IN CONTROL PROGRAM SERVICES MANUAL. 0190 

0192 * 0l9 ? 

0194 * -OUTPUT FROM IECPBLDL IS THE SAMb AS FOR IGC018 FNTERED VIA 0194 

0196 * BLDL MACRO, WITH THE ADDITION THAT THE LAST DIRECTORY OR 0196 

0198 * CATALOG BLOCK READ BY BLDL, ITS CC.HHR, AND THE IOB AND CHANNEL 0198 

0200 * PROGRAM USED TO READ IT APPEAR IN THL : 400 BYTE WORKAREA 0200 

0202 * DESCRIBED LATER IN THIS LISTING HY THE DSFCT LABELED WORKAREA. 0202 

J204 * °204 

0206 * -OUTPUTS FROM IECPRLTV AND IECPCNVT ARE AS DESCRIBED ABOVE 0206 

0208 * UNDER ENTRY POINTS. 0208 



Ci\05 



ATPLISTPCH LISTING LIE 



IECPFING-S 



HJN - 05667 



> 

Is) 

^4 

I 

CO 



)210 


* 








0210 


0212 


♦EXTERNAL ROUTINES -GETMAIN 


-USED TO GET WORKAPEA. 


0212 


0214 


* 




EREEMAIN 


-USED TO FREF WORKAREA. 


0214 


0216 


* 




TXCP 


-USED TO START CHANNEL PROGRAM FOR 


0216 


218 


* 






DIRECTORY SEARCH. 


0218 


0220 


* 




WAIT 


-USED TO WAIT FOR CHANNEL PROGRAM TO 


0220 


0222 


* 






COMPLETE. 


022 2 


0224 


♦EXITS 


-EXITING CONDITIONS ARE 


DESCRIBED UNDER •FIND' AND 'BLDL* 


0224 


0226 


* 


MACROS IN CONTROL PROGI 


RAM SERVICES MANUAL. 


0226 


0228 


* 








0228 


.12 30 


♦TABLES 


AND WORKAR^\S ARE DESCRIBFO BY OSfCTS LATER IN LISTING. 


0230 


2 32 


* 








0232 


02. 6 4 


♦ATTRIBUTES- 


REENTsANTf PRIVILEGED, fcNAi'LFD 


0234 


0236 


* 








0236 


02 38 


* 








0238 


J240 


* 








0240 


0242 


* 








0242 


)2 44 


♦WORK AREA DEFINITION 




0244 


0246 


HQRKARFA 


OSECT 






0246 


0248 


FIRST 


OS 


OD 




0248 


0250 


ROAREA 


OS 


64F 


?bo ^YTF RFAOIN AREA 


0250 


0252 


NEWCNT 


OS 


2F 




0252 


02 54 


ccw 


OS 


OD 




0254 


0236 


CCW1 


OS 


D 




0256 


02 58 


CCW2 


OS 


D 




0258 


2 60 


CCW3 


DS 







0260 


0262 


CCW4 


OS 


D 




026? 


0264 


CCW5 


DS 







0264 


0266 


CCW6 


DS 







0266 


0268 


ECB 


OS 


F 




0268 


J 2 70 


IOB 


DS 


8F 




0270 


0272 


MBB 


DS 


C'MBB' 




0272 


0274 


CCHHR 


DS 


C 'CCHHR' 




0274 


02 76 


ERCODE 


DS 


F 




0276 


02 78 


ENDLST1 


DS 


F 




0278 


02 80 


FNDLST2 


DS 


CL8 




0280 


0282 


FN0LST3 


DS 


F 




0282 


0284 


LAST 


DS 


00 




0284 


0286 


* 








0286 


0288 


♦EQUATE 


STATEMENTS 




0288 


0290 


****** 








0290 


0292 


EXIT 


EQU 


3 




0292 


0294 


♦CONTROL 


BLOCK 


EQUATF S 




0294 


0296 


TCBJLB- 


EQU 


40 




0296 


029H 


UCBOVTYP 


EQU 


19 


10W OROER BYTE OF DEVICE TYPE 


0298 


03 00 


DVTHH 


EQU 


2 




0300 


0302 


****** 








0302 


0304 


* 


REGISTERS — 




0304 


0306 


RGAODR 


EQU 







0306 


0308 


RGOCB 


EQU 


1 




0308 


3310 


RGA 


EQU 


2 




0310 


0312 


RGB 


EQU 


3 




0312 



C6105 



> 





ATPLISTPC 


H LIST 


ING OF IECPFIND-S 


HJN 


- 05667 




0314 


RGC 


EQU 


4 






0314 


0316 


RGD 


EQU 


5 






0316 


0318 


RGE 


EOU 


6 






0318 


0320 


RGF 


EQU 


7 






0320 


0322 


RGG 


EQU 


8 






032? 


0324 


RGH 


EOU 


9 






0324 


0326 


RGI 


EOU 


10 






0326 


0328 


RGJ 


EQU 


11 






0328 


0330 


RGK 


EQU 


12 






033 


03 32 


RGAREA 


EQU 


13 






0332 


0334 


RGRET 


EQU 


14 






0334 


0336 


RG8AS6 


EQU 


15 






0336 


0318 


* 










0338 


0340 


♦CONVERT 


ROUTINES RFGISTERS — 






0340 


0342 


RGTTR 


EQU 









034? 


344 


RGOEB 


EQU 


1 






0344 


0346 


RGMBB 


EQU 


2 






0346 


0348 


RGV 


EQU 


9 






0348 


0350 


RGW 


EQU 


10 






0350 


03 52 


RGX 


EQU 


11 






0352 


3 54 


RGY 


EQU 


12 






0354 


03 56 


RGZ 


EQU 


13 






0356 


03b8 


* 










0358 


360 


♦THE FOLLOWING 


EQUATES ARE FOR RFGISTERS MTH 


WELL 


DEFINED ABSOLUTE 


0360 


362 


♦USAGE, 


ANO FOR TEMPORARY WORK REGISTERS — 






036? 


0364 


RO 


EQU 









0364 


0366 


Rl 


EQU 


1 






0366 


0368 


R2 


EQU 


2 






0368 


03 70 


R3 


EQU 


3 






0370 


0372 


R4 


EQU 


4 






0372 


03 74 


R5 


EQU 


5 






0374 


0376 


R6 


EQU 


6 






0376 


0378 


R7 


EQU 


7 






0378 


0380 


R8 


EQU 


8 






0380 


382 


R9 


EQU 


9 






0382 


0384 


RIO 


EQU 


10 






0384 


0386 


RU 


EQU 


11 






0386 


0388 


R12 


EQU 


12 






0383 


0390 


R13 


EQU 


13 






0390 


392 


R14 


EQU 


14 






0392 


03 94 


R15 


EQU 


15 






0394 


0396 


* 










0396 


0398 


*DCB DEFINITION — 






0398 


0400 


IHA0C8 


OSECT 








0400 


0402 




OS 


44X 






0402 


0404 


DCBDEBAD 


OS 


F 






0404 


1406 




OS 


36X 






0406 


0408 


OCBPOINT 


OS 


F 






0408 


0410 


* 










0410 


0412 


*DEB DEFINITION — 






0412 


0414 


IHADEB 


OSECT 








0414 


0416 




OS 


F 






0416 



C6 105 



ATPLISTPCH LISTING OF 



IECPFIND-S 



HJN - 05667 



> 



0418 
0420 
0422 
0424 
0426 
0428 
0430 
0432 
0434 
0436 
04 3 8 
0440 
044? 
0444 
0446 
0448 
045 n 
0452 
0454 
0456 
0458 
0^60 
0462 
0464 
0466 
0468 
0470 
04 72 
0474 
0476 
0478 
0480 
0482 
0484 
0486 
0488 
0490 
0492 
0494 
0496 
049 8 
0500 
0502 
0504 
0506 
0508 
0510 
0512 
0514 
0516 
0518 
0520 



DE6AMIND 


OS 


X 






OS 


11X 




DEBNMEXT 


OS 


X 






DS 


15X 




DEBDVMOO 


DS 


F 




DEBBINUM 


DS 


H 




DEBSTRCC 


OS 


H 




OEBSTRHH 


OS 


H 




DE8EN0CC 


DS 


H 




OEBENOHH 


DS 


H 




DEBNMTRK 


DS 


H 




***** 








IGC018 


CSECT 








ENTRY 


SVCOiy 




SVC018 


EOU * 








BALR 


RGKtO 






USING 


BASEl.KGK 




BASE1 


SSM 


G+l 


t-NAHLE INTERRUPTS 




LR 


RGAfRGAUDR 






LR 


RGC ♦KGDCB 


TEMP STORE 




LA 


ROtLAST-FIRST 


SP=0, NO. OF BYTES 




GETMAIN R,LV=(0) 






LR 


RGAREA,R1 






USING 


WORKAREA.RGAREA 






LTR 


RGDCB.RGB 






BC 


10, A2 


C. 3L0L 




LCR 


RGDCB.KGDCe 






MVC 


FNDLSTUDC1 


INIT BLDL LIST FO 




HVC 


FNDLST2,0(RGA) 


MOVF NA^F 




LA 


RGAD0K,FN0LST1 






BAL 


RGRtTt IECP8L0L 


tXbC 8L0L 




DROP 


RGK 






USING 


8ASE2, RGRET 




BASE2 


LTR 


R15,R15 






8P 


Al 


0. ERROR ON 8LDL 




LR 


R1,RGJ 






USING 


IHADCrt.RGJ 






MVC 


IHADC8(4) ,FNDLST3 


MOVE TO RE LAO 




LR 


RO,Rl 


POINT TO RELAO 




L 


R15,DCSP0INT 


USE POINT ROUTINE 




BAL 


R14,4(R15) 






SR 


R15,R15 


SET NO ERROR 


Al 


LR 


RGA,R15 


SAVE ERRUR CODE 




LA 


ROtLAST-FIRST 


FPEEMAIN BYTES 




FREEMAIN R, LV=( 0) , A=( RGAREA) 






LR 


R15,RGA 


RESTORE ERROR COD 




SVC 


EXIT 





A2 



DROP RGRET 
USING BASEl.RGK 
LA RGRET, Al 
LR RGAOOR,RGA 



RETURN TO A I 
RESTORE LIST ADDRESS 



0418 

042 

0422 

0424 

0426 

042 8 

0430 

0432 

0434 

0436 

0438 

0440 

0442 

0444 

0446 

044 84/2 9 

04504/29 

04524/29 

04544/29 

0456 

0458 

0460/2 

0462/2 

0464 

0466 

0468 

0470 

0472 

0474 

0476 

0478 

04804/29 

0482 

0484 

0486 

0488 

0490 

0492 

0494 

0496 

0498 

0500 

0502 

0504 

0506/2 

0508 

0510 

0512 

0514 

05164/29 

0518 

0520 



Co 105 



ATPLISTPCH LISTING Of 



IECPFIND-S 



HJN - 05667 



> 

I 

a- 



0522 


* 








0522 


524 




ENTRY 


IECPBLDL THIS ENTRY POINT FOR BLOL TO BYPASS SVC 


0524 


0526 


IECPBLDL 


BALR 


RGBASF,0 




0526 


0528 




USING 


BASE3,RGBASE 




0528 


0530 


BASE3 


SR 


RGA.RGA 




0530 


0532 




ST 


RGA,ERCO'OE 


ERCOOE, C.N., Z TO ZERO 


0532 


0534 




LTR 


RGJ,RG0C8 


PGJ HAS OCB ADDR 


0534 


0536 




BP 


BBBB1 


0. NOT LINKLIB OPTION 


0536 


0538 




MVI 


ERCODE+3,2 


Z=? INDICATES JOBLIB 


053 8 


0540 




L 


R2,FINDTCPP 


AOOft OF TCB POINTER 


0540 


0542 




L 


R2,4(R2) 


TCP, A DOR 


0542/5 


0544 




L 


RGJ,TCHJLH (R2) 


JUttLId OCB ADOR 


0544 


0546 




LTR 


RGJ.RGJ 




0546 


0548 




BP 


8BBB1 


(v. JOBLIB ASSIGNED TO THIS TASK 


054 8 


0550 




L 


RG J, F I NOLI NIK 


LINKLIB DCB AOOR 


0550 


0552 




MVI 


ERCCDF+3, 1 


Z=l INDICATES LINKLIB 


0552 


05 54 


B8BB1 


LR 


RGKi R'SAODR 


RGK POINTS TO FFLL 


0554 


0556 




STM 


6,11,KDAREA 


UMP SAVE 


0556 


0558 




LM 


R0,R1 l.CHANPROG 


fCVF AND RELOCATE CHAN PROG 


0558 


0560 




ALR 


RO f RGAREA 




0560 


0562 




ALR 


R2»RGAREA 




0562 


0564 




AR 


R4,PGARFA 




0564 


0566 




AR 


R8 f RGAREA 




0566 


05o8 




AR 


R10,R0AREA 




0563 


0570 




STM 


R0,R11 »CCW 




0570 


05 72 




SR 


R0,R0 


ZERO ECB 


0572 


0574 




LA 


R2,EC8 


MUVE AND RELOCATE IOB 


0574 


0576 




LA 


R5,CCW 




0576 


0578 




SR 


R8,P3 


ZERO BLK I NCR FIELD 


0578 


0580 




STM 


R0,R8,FCR 


EC? AND IOP TO WORKAREA 


0580 


0582 




MVI 


IOB^'^' 


SFT NON-RFLATED FLAG 


0582 


0584 




LM 


6,11 .ROAREA 


RESTORE REGS 


0584 


05 86 




LA 


RGF,4(RGK) 


SET TO FIRST ENTRY 


0586 


05 88 




AH 


0,0{ROK) 


PICKUP NO. OF FIELDS 


0588 


0590 




BZ 


H 


0. TTR START SUPPLIED 


0590 


0592 




LR 


RGA,RGK 


INIT USERS LIST 


0592 


0594 


BB81 


MVI 


14CRGA) ,0 


ZFRO R FIELD 


0594 


0596 




AH 


RGA,^(RGK) 


GG TO NEXT FIELD IN LIST 


0596 


0598 




BCT 


0,BBS1 


C. ANOTHFR FIELD 


0598 


0600 




LH 


RGG,0(KGK) 


GET MO. OF ENTRIES 


0600 


0602 


BB1 


SR 


0,0 


SET TTR START TO 000 


0602 


0604 


BB1A 


IC 


0,ERCuOE«-2 


INSERT G.N. 


0604/5 


0606 




USING 


IHADCB,RGJ 




0606 


0608 


BB2 


L 


1,DCB0E3A0 




0608 


0610 




LA 


2, MBS 


FOP RESULT MBBCCHHR 


0610 


0612 




LR 


3,RGARtA 




0612 


0614 




STM 


11,15,R0AREA 


SAVE VOLATILE REGISTERS 


0614 


0616 




LA 


15, IECPCNVT 


USE TTR CONVERT ROUTINE 


0616 


0618 




BALR 


14,15 




0618 


0620 




LM 


11,15,R0AREA-FIRST(3) 


RESTORE VOLATILE REGISTERS 


0620 


0622 




LR 


RGH.RGF 


POINT TO FIRST EMPTY ENTRY 


0622 


0624 




LR 


RGI,RGG 


NO. OF ENTRIES REMAINING 


0624 



Col05 



ATPLISTPCH LISTING OF 



IECPFIN0-S 



HJN - 05667 



> 
l-O 

I 



0626 




ST 


0628 




A 


0630 


81 


-ST 


06 32 




LR 


06 34 




EXCP 


06 36 




DROP 


0638 




USING 


0640 




L 


064? 




TM 


0644 




BO 


0646 




WAIT 


0643 


WAITLOOP TM 


0650 




BZ 


0652 




LA 


0654 




BCR 


0656 




LR 


0658 




DROP 


0660 




USING 


0662 


♦ SCAN 


DIRECTOR 


0664 




LR 


0666 




BCTR 


0668 




AH 


06 7 




LA 


0672 




LA 


06 74 


C 


CLC 


06 76 




BE 


06 78 




BH 


0680 




IC 


06 82 




NR 


0684 




LA 


0686 




BXLE 


0688 




MVC 


0690 




B 


0692 


* 




0694 


D 


MVC 


0696 




IC 


0698 




NR 


0700 




LH 


0702 




SH 


0704 




BM 


0706 




BXLE 


0708 




LR 


0710 


E 


EX 


0712 




MVC 


0714 


El 


IC 


716 




STC 


0718 


F 


BCT 


0720 


Fl 


LR 


0722 




DROP 


0724 




USING 


726 




LH 


0728 




LTR 



RGJ,I(Jfi + 20 
RGH,SKEH 
RGH,CCW4 
2,15 
I OB 

RGBASF 
BASE3,2 
15,PDVC0N 
1(15) ,X«FO' 
WAITLuOP 
1,ECB=EC8 
ECB.X^O' 
WAITLOOP 
R15,S 
4.RGRFT 
R15»R? 
R2 

BASEi,?<GBASE 
Y BLOCK 
R3,RGAREA 
R3,0 

R3 t R0AREA 
Rl,R0AREA+2 
R0,31 

0(8, Rl) ,0(RGH) 
D 
G 

R2 f il(Kl) 
R2,R0 

R2»12(R2,R2) 
R1,R2,C 
CCHH«,NEWCNT 
Bl 



OCR AODR INTO IOB 
SFARCH CCW OP 
INIT SEARCH 
SAVE BASE 



TEST PSEUOO-DISABLE BYTE 
Q. P-Q MODE, BYPASS WAIT 

CHFCK COMPLETE AND ERROR BITS 
C. NOT YET COMPLETE 
FPROR CODE IN CASE I/O ERROR 
Q. PERM. I/O ERROR 
RESTORE BASE 



SET END AODR-l 

SET START AODR 
SFT MASK FOR C BYTE 
COMPARE NAMES 

Q. FOUND 
0, NOT IN THIS DIRECTORY SECTION 

GET USERS FIELD LENGTH 
MASK 3 H.O. BITS 
FNTIRE ENTRY LENGTH IN 2 

0. MORE ENTRIES IN BLOCK 
SET NEW START 



8(3,RGH),8( 1) 

4, IK 1) 

R4,R0 

R5,2(RGK) 

R5,C14 

El 

R4,R4,E 

R4,R5 

R4 f M0VE 

12U,RGH),ERC0DE + 3 

R4,ERC0DE+2 

R4,11(RGH) 

RGI ,F2 

RGI,R15 

RGBASE 

BASE3,RGI 

R15,ERC0DE 

R15,R15 



MOVE TTR 

GET C FROM OIRFCTORY 
MASK 3 H.ll. BITS 
GET USERS LL 

U. LL LESS THAN 14 

USE REG 4 

MOVE INTO USERS LIST 

GET Z 

GET C.N. 

C.N. INTO USERS LIST 

0. ANOTHER LIST ENTRY 

SAVE BASE 



0626 

0628 

0630 

0632/2 

0634/2 

0636 

0638 

064 

0642 

0644 

0646 

0648 

0650 

0652 

0654 

0656 

0658 

0660 

0662 

0664 

0666 

0668 

0670 

0672 

0674 

0676 

0678 

0680 

0682 

0684 

0686 

0688 

0690 

0692 

0694 

0696 

0698 

0700 

0702 

0704 

0706 

0708 

0710 

0712 

0714 

0716 

0718 

0720 

0722 

0724 

0726 

0728 



C6105 



> 

00 



730 
07 32 
0734 
736 
0738 
0740 
0742 
0/44 
0746 
74 8 
7 50 
0752 
754 
0/56 
075 8 
0760 
0762 
0764 
766 
0768 
07 70 
0772 
7 74 
07 76 
0778 
0780 
0782 
07 84 
0786 
0788 
0790 
0792 
0794 
0796 
0798 
0800 
0802 
0804 
0806 
0808 
0810 
0812 
0814 
0816 
0818 
0820 
0822 
0824 
0826 
0828 
0830 
0832 



TPLISTPCH LISTING UE IECPFIND-S 




BCR 


8,RGRET 




L 


RGA,0C3DEBAD 




USING 


IHADEB,RGA 




CLC 


DEBAMIND,FRC0DE+2 




DROP 


RGA 




BH 


FF1 




CLI 


ERCODE+3,2 




BCR 


6.RGRET 




LA 


R4,255 




MVI 


ERCODE+3,1 




L 


RGJ, FINDLINK 


FF1 


LA 


R4,l <R4) 




STC 


R4tFRC0DE+2 




MVI 


ERCODF+1,0 




LR 


R15,RGI 




DROP 


RGI 




USING 


BASE->,RGBASE 




B 


BB1 


F2 


AH 


RGH,>(kGK) 




CLI 


10(KGH) ,0 




BE 


C 


* 
G 


B 


F GO SEE IF ANOTHER 


CLI 


0(R1 > ,X»FF« 




BL 


Gl 




CLC 


1(7, ->1) tO(Rl) 




BL 


Gl 


GG1 


MVC 


FNDLSTi, 8(K1) 




L 


R0,ENiULST3 




SH 


R0.H256 




BC 


lOtBBIA 


Gl 


CLI 


ERCHOh+1,4 




BE 


El 




LA 


RGF,0(RGH) POINT TO FIR 




LR 


RGGtRGF 




MVI 


EPCOn' +1,4 




B 


El 


* 






H 


LA 


RGG,H1 




LR 


R1,RGF 




B 


GG1 


* 






* 


CONSTANTS 


MOVE 


MVC 


13(1, RGH) ,11(R1) 


OC1 


DC 


H«l» 




DC 


H« 12' 


C14 


DC 


H« 14* 


PDVCON 


DC 


VUFA0IU02) 


FINDTC8P 


DC 


VUEATC8P) 


FINDLINK 

* 
♦CHANNEL 


DC 


V(IEFLINK) 


PROGRAM 



HJN - 05667 



0. IF NO ERROR, RETURN 



CHECK C.N. 

0. MORE OATA SETS IN CNCTNTN 
TEST WHICH DCB 
0. NOT JOBLIB, RETURN 
FORCE C.N. TO ZERO WHEN INCR 
Z=l INDICATES LINKLIB 
LINKLIB DCS ADDR 
INCREMENT C.N. 

ZERO ERROR CODE 



GO TO NEXT ENTRY 
FIN!) NCXT ZERO R 
0. FMPTY ENTRY 
FMPTY ENTRY 



continuation 
;h name 



POINTER 



CHECK FOR 

U. NUT HI 

MAKE SURE 

0. RFALLY NOT HIGH NAME 

GET TTRO ON WORD BOUNDARY 

OfCKtMENT R BY 1 

iv. CONTINUATION POINTER 

0. PREVIOUS ERROR 

ST EMPTY ENTRY, ZERO H.O. BYTE 

NO. OF ENTRIES REMAINING 

SET ERROR CODE 4 



SET FOR ONE ENTRY 
MAKE MOVE AT GG1 WORK 



BLDL MOVE 

MUST IMMEDIATELY FOLLOW DC1 



0730 

0732 

0734 

0736 

0738 

0740 

0742 

0744 

0746 

0748 

075 

0752 

0754 

0756 

0758 

0760 

0762 

764 

0766 

0768 

0770 

0772 

0774 

0776 

0778 

0780 

0782 

0784 

0786/2 

0788 

0790 

0792 

0794 

0796 

0798 

0800 

0802 

0804 

0806 

0808 

0810 

0812 

0814 

0816 

0818 

0820 

0822 

0824 

0826 

0828 

0830 

0832/2 



C6 105 



ATPLISTPCH LISTING OF 



IECPFINO-S 



HJN - 05667 



> 

VI 



0834 
0836 
0838 
0840 
0842 
0844 
0846 
0848 
0850 
0852 
0854 
0856 
085 8 
0860 
0862 
0864 
0866 
0868 
0870 
0872 
08 74 
0876 
0878 
0880 
088? 
0884 
0886 
0888 
0890 
0892 
0894 
0896 
0898 
0900 
0902 
0904 
0906 
0908 
0910 
0912 
0914 
0916 
0918 
0920 
0922 
0924 
0926 
0928 
0930 
0932 
0934 
0936 



CHANPROG 


OS 


OF 


*CCW1 








DC 


X«31' 




DC 


AL3C0+CCHHR-FIRST) 




DC 


X^OOO* 




DC 


H^' 


♦CCW2 








DC 


X»08« 




DC 


AL3C0+CCW1-FIRST) 




DC 


F»0« 


♦CCW3 








DC 


X , 92' 




DC 


AL3(NEWCNT-FIRST) 




DC 


X«4000» 




DC 


H^' 


*CCW4 






SKEH 


DC 


X*69' 




DC 


AL3(0> 




DC 


X»4000' 




DC 


H»8« 


*CCW5 








DC 


X»08' 




DC 


AL3(0+CCWJ-FIRST) 




DC 


F»0' 


*CCW6 








DC 


X'06« 




DC 


AL3C0+RD AREA-FIR ST) 




DC 


H»0' 


H256 


DC 


H'256' 



SEARCH ID EQUAL 

COMMAND CHAIN 
COUNT 

TIC 



RD COUNT, M/T 



SKAKCH FO HI KFY 

COMMAND CHAIN 
CUUNT 

TIC 



READ DATA 



* 

***** ************* ************* **************************************** 

* 

♦IECPRLTV — HBBCCHHR TO TTRO CONVERT ROUTINF 

♦REGISTER CONVENTION — 

* 
* 
* 
* 

* 
* 
* 
* 



CONTAINS RESULT TTRO 

1 ADDRESS OF 0E6 

2 ADDRESS OF MBBCCHHR INPUT 
3-8 TRANSPARENT 

9-13 VOLATILE 

14 RETURN ADDRESS 

15 ENTRY ADDRESS — USED FOR PASE 



ENTRY IECPRLTV 
USING IECPRLTV, R15 
IECPRLTV SR RGTTR,RGTTR 
LR RGZ,RGOEB 
USING IHA0E8,RGZ 
SR RGY,RGY 
IC RGY,0(RGMBB) 



PICKUP M 



0834 
0836 
0838 
0840 
0842 
0844 
0846 
0848 
0850 
0852 
0854 
0856 
0858 
0860 
0862 
0864 
0866 
0868 
0870 
0872 
0874 
0876 
0878 
0880 
0882 
0884 
0886 
0888 
0890 
0892 
0894 
0896 
0898 
0900 
0902 
0904 
0906 
0908 
0910 
0912 
0914 
0916 
0918 
0920 
0922 
0924 
0926 
092 8 
0930 
0932 
0934 
0936 



C6105 



ATPLISTPCH LISTING OF 



IECPFINO-S 



HJN - 05667 



> 



0938 




LTR 


RGY,RGY 








0938 


0940 




BZ 


RLTVB 






Q. IS H ZERO 


0940 


0942 


RLTVA 


AH 


RGTTR,OEBNMTRK 






NO. OF TRKS IN EXT 


0942 


0944 




LA 


RGZ,16(RGZ) 






GO TO NEXT EXTENT 


0944 


0946 




BCT 


RGY, RLTVA 






0. ANY MORE EXTENTS 


0946 


0948 


RLTVB 


BAL 


RGW,CNVTDVC 






PICKUP DEVICE CONSTANT 


0948 


0950 




SR 


RGW.RGW 








095 


0952 




IC 


RGW,4(RGMB8) 






GET ACTUAL C 


0952 


0954 




SH 


RGW,DE8STRCC 






MINUS START CC 


0954 


0956 




MH 


RGW,DVTHH(RGX,RGY) 




TIMES TRKS/CYL 


0956 


0958 




SR 


RGX,RGX 








0958 


0960 




IC 


RGX,6(RGMBB) 






GET ACTUAL H 


0960 


0962 




AR 


RGWfRGX 






PLUS TRKS IN CC 


0962 


0964 




SH 


RGW,DE8STRHH 






MINUS START HH 


0964 


0966 




AR 


RGTTR,RGW 






DEVELOP TOTAL TT 


0966 


0968 




SLL 


RGTTR,8 








0968 


0970 




IC 


RGTTR,7(RGMBB) 






PICKUP R 


0970 


0972 




SLL 


RGTTR,8 








0972 


0974 




SR 


R15,R15 








0974 


0976 




BR 


R14 






RETURN 


0976 


0978 


******************************************** ****** ***************** 


0978 


0980 


* 












0980 


0982 


♦IECPCNVT TTRN TO M8BCCHHR 


CONVERT 


ROUTINE 


0982 


0984 


* 












0984 


0986 


♦ THIS 


ROUTINE 


WILL CONVERT RFLATIVE 


TRACK TT TO ABSOLUTE TRACK MBBCCHH 


0986 


0988 


♦REGISTER CONVENTION — 








0988 


0990 


♦ 





CONTAINS TTRN, 


WHERE 


N 


IS CONCATENATION NO. 


0990 


0992 


♦ 


1 


ADDRESS OF OEB 








0992 


0994 


* 


2 


ADDRESS OF 8 BYTE FIELC 


I FOR RESULT MBBCCHHR 


0994 


0996 


* 


3-8 


TRANSPARENT 








0996 


0998 


* 


9-13 


VOLATILE 








0998 


1000 


♦ 


14 


RETURN ADDRESS 








1000 


1002 


* 


15 


ENTRY ADORESS— 


- USED 


FOR BASE 


1002 


1004 


* 












1004 


1006 




ENTRY 


IECPCNVT 








1006 


1008 




USING 


IHADE3,RGDFB 








1008 


1010 




USING 


IECPCNVT, R15 








1010 


1012 


IECPCNVT SR 


RGV,RGV 








1012 


1014 




DROP 


RGZ 








1014 


1016 




IC 


RGV,DEBNMEXT 






NUM8ER OF EXTENTS 


1016 


1018 




LR 


RGW,RGV 






USE FOR LIMIT- 


1018 


1020 




LA 


RGZ,X»FF» 






MASK 


1020 


1022 




NR 


RGZ,RGTTR 






CONCATENATION NUMBER (N) 


1022 


1024 




BZ 


CNVTA 






Q. N IS ZERO 


1024 


1026 




LR 


RGY.RGV 






NUMBER OF EXTENTS 


1026 


1028 




SLL 


RGY ,4 






TIMES 16 


102,8 


1030 




AR 


RGY, RGZ 






ADO N 


1030 


1032 




IC 


RGZ,OEBDVMOD-l(RGY) 




FIRST M OF DATA SET N 


1032 


1034 




SR 


RGW.RGZ 






ADJUST LIMIT 


1034 


1036 




SLL 


RGZ, 4 






TIMES 16 


1036 


1038 


CNVTA 


AR 


RGZ,RGDEB 






ADJUST DE3 PTR 


1038 


1040 




DROP 


RGDEB 








1040 



C6105 



ATPLISTPCH LISTING OF 



IECPFINO-S 



HJN - 05667 



> 
I 



1042 
1044 
1046 
1048 
1050 
1052 
1054 
1056 
1058 
1060 
106? 
1064 
1066 
1068 
1070 
1072 
1074 
1076 
1078 
1080 
1082 
1084 
1086 
1088 
1090 
1092 
1094 
1096 
1098 
U00 
1102 
1104 
1106 
1108 
1110 
1112 
1114 
1116 
1118 



USING IHADEB.RGZ 
SRL RGTTR.8 



CNVTB 



CNVTC 



STC 
SRL 

SH 

BM 

LA 

BCT 

LA 

BR 

SR 

DROP 

SR 

AH 

STC 

MVC 

BCR 

LA 



RGTTR,7«RGMBB) 

RGTTR,8 

RGTTR,OF.BNMTRK 

CNVTC 

RGZ*16(RGZ) 

RGW, CNVTB 

R15,4 

R14 

R15,R15 

R15 

RGV.RGW 

RGTT«,DEBNMTRK 

RGV,0(RGMBB) 

1(6,RGMBB),0ERRINUM 

8,R14 

OEVIC 



LA RGW,1 
♦PICKUP LOCATION OF APPROPRIATE 
CNVTDVC L RGX,0E:}DVM0D 

IC RGX,UC8DVTYP(RGX) 

LA RGY,15 

NR RGX,RGY 

BALR RGY,0 

USING *,RGY 

RGY.CNVTDTAB 

RGX,0(RGX,RGY) 

RGW, RGW 

RGV,nVTHH(RGX,RGY) 

RGX f RGTTR 

RGX,DE3STRHH 

RGW»RGV 

RGW,6(RGMBB) 

RGXtOEBSTRCC 

RGX,4(RGMBB) 

R14 



EST 



L 

IC 

BCTR 

LH 

LR 

AH 

OR 

STC 

AH 

STC 

BR 



CNVTOTAB DC 
END 



V(IECZOTAB) 





1042 
1044 


SAVE R 


1046 


DEVFLOP TT 


1048 


DECREASE PY TRKS IN EXTENT 


1050 


0. PROPER EXTENT 


1052 


GO TO NEXT EXTENT 


1054 


0. STILL WITHIN DEB 


1056 


SET ERROR CODE 


1058 


RETURN 


1060 


INDICATE NO ERROR 


1062 




1064 


DEVELOP M 


1066 


ADO BACK OVERDRAW 


1068 


STORE M 


1070 


MOVE B8CCHH FROM DEB 


1072 


0. DIVIDE UNNECESSARY 


1074 


FORCE RGW TO ZERO ON BCTR 


1076 


E CONSTANTS 


1078 


UCB AODR 


1080 


GET DEVICE TYPE CODE 


1082 


MASK 


1084 


LEAVE ONLY 4 L.O. BITS 


1086 


ABLISH BASE 


1088 




1090 


DEVICE TBLE ADDR 


1092 


DISPLACEMENT FOR DEVICE 


1094 


0. RETURN TO RLTV ROUTINE 


1096 


TRKS/CYL 


109 8 


DIVIDE REG 


1100 


STARTING HH 


1102 


0UO=CYLS, REM=TRKS 


1104 


STORE H 


1106 


PLUS CC START 


1108 


STORE C 


1110 


RETURN 


1112 




1114 


DEVICE ATTRIBUTES TABLE 


1116 




1118 



$LIST, IGC0002A-S 



Appendix 28 



C6105 



ATPLISTPCH LISTING OF 



IGC0002A-S 



HJN - 05667 



> 

ro 

00 



0002 
0004 
000ft 
000* 
0010 
001? 
0014 
0016 
0018 
20 
0022 
0024 
1026 
0028 
00 'JO 
00 3? 
OUT 4 
JO 36 
0036 
04 
0042 
0044 
0046 
004 8 
0050 

)0 52 
0054 
0056 
0058 

)060 
0062 

)064 
0066 
006 8 
00 70 
00 72 
00 74 
00 76 
0078 
0080 
0082 
0084 
0086 
0088 
0090 
0092 
0094 
0096 
0098 
0100 
0102 
0104 



TITLE 
♦FUNCT 

* 

* 

* 
* 

* 

*ENTRY 

* 

♦INPUT 

* 

* 
* 
* 
* 

* 
* 

* 

* 
* 

* 
♦OUTPU 

* 
* 

*EXTER 

* 

* 
♦EXITS 

* 
* 

* 

* 
* 

* 



•IGC0002A- BPAM STOW ROUTINE* 
ION/OPERATION- THE STOW FUNCTION MAINTAINS BPAM DIRECTORIES. IT * 
PERFORMS FOUR FUNCTIONS- ADDS, REPLACES, CHANGES NAME OF, OR * 
DELETES ENTRIES. IN ADDITION, IF THE FUNCTION IS ADD OR REPLACE* 
AND CERTAIN OTHER CONDITIONS ARE MET, AN EOD MARK WILL BE * 
WRITTEN IN THE USERS DATA AREA. THE DIRECTORY IS MAINTAINED IN * 



SEQUENTIAL ORDER OF THE BINARY VALUE OF THE NAMES OF THE 
MEMBERS. THRflE BUFFERS ARE USED AND ROTATED BETWEEN USE AS 
INPUT AND OUTPUT. 

POINTS- THE fcNTKY TO THIS ROUTINE IS VIA SVC 21 ONLY. 

- THE NAME OF TOE MFMPER UPON WHICH ACTION IS DESIRED MUST BE 
SUPPLIED. IN ADDITION, MORE INFORMATION IS REQUIRED FOR SOME 
THE FUNCTIONS AS FPLLUWS- 

ANY USER DATA AS REQUIREO 
BEGINNING TTR OF MEMBER 



ADD AND REPLACE 

ALIAS BIT ON 
CHANGH MAMF 
DELETh 
THE ADDRESS OF THIS DATA 
OF THE OCB TO rfF USED BY 
OF THE FOUR FUNCTIONS IS 
SIGNS OF REGISTERS AND 
REGO REGl 
+ + 



* 

* 

* 

* 

OF* 



T- FOR ADD OK REPLACE WITHOUT ALIAS OPTION, THE 
RELATIVE <TTR) ADDRESS OF THE MEMRF* STOWED IS 
THE ENTRY SUPPLIED TO STOW. 



THE NFw NAME TO BE GIVEN THE MEMBER* 
NO OTHER INFORMATION IS REQUIRED * 
IS SUPPLIED IN REGISTER 0. THE ADDRESS* 
STOW IS FURNISHED IN RFGISTER i. EACH * 
INDICATED .-lY A UNIQUE COMBINATION OF * 
I AS FOLLOWS- * 

FUNCTION * 

ADD * 

REPLACE * 

DELETE * 

CHANGE NAMF * 

* 
BEGINNING * 
RETURNED WITHIN * 



NAL ROUTINES- THE eSAM/QSAM END-OF-HLOCK ROUTINE IS 
WRITE AN END-OF-DATA MARK AT THE FNO OF THE MEMBER 
IF REQUIRED. EXCP AND WAIT ARE USED TO PERFORM I/O OPERATIONS 
AND GETMAIN AND FREEMAIN ARE USED TO GET AND FREE WORK AREAS. 



♦ 
USED TO * 
BEING STOWFD* 

♦ 



-NORMAL- NORMAL EXIT IS AN SVC 3 RETURN TO USER WITH A ZERO 

ERROR CODE IN REGISTER 15. 
-ERROR- ERROR RETURN IS AGAIN AN SVC 3 WITH REGISTER 15 SET TO 
INDICATE ERRORS AS FOLLOWS- 

CODE CONDITION 

4 FOR ADD OR CHANGE NAME, THE NAME 

IS ALREADY IN THE DIRECTORY. 
8 FOR DELETE OR REPLACE, THE NAME 



* 
* 
* 

IS* 



12 
16 



NOT IN THE DIRECTORY. INOTE. IF * 
REPLACE, THE ITEM WILL BE ADDEO, * 
AND THE ERROR NOTED.) * 

NO SPACE IS LFFT IN THE DIRECTORY * 
A PERMANFNT I/O ERROR HAS BEEN * 
DETFCTED. * 



0002 
0004 
0006 
0008 
0010 
0012 
0014 
0016 

001 R 
0020 

002 2 
0024 
0026 
0028 
0030 
0032 
0034 
0036 
0038 
0040 
0042 
0044 
0046 

004 8 
0050 

005 2 
0054 
0056 
005 8 
0060 
0062 
0064 
0066 
0068 
0070 
0072 
0074 
0076 
0078 
0080 
0082 
0084 
0086 
0088 
0090 
0092 
0094 
0096 
0098 
0100 
0102 
0104 



C610S ATPLISTPCH LISTING OF IGC0002A-S HJN - 05667 

106 * * 0106 

01U8 *TABLES/WORK AREAS- 4 WORK AREA OF 1056 ^YTFS IS USEO BY STOW. THIS * 0108 

0110 * AREA IS DYNAMICALLY OBTAINFD USING G^TMAIN, AND WILL CONTAIN * 0110 

Oil? * THREE 272 BYTF BUFFERS FOR I/O USF. * 0112 

0114 *ATTRIPUTES- REAO ONLY, REENTRANT, SUPERVISOR FUNCTION * 0114 

0116 * 0116 

0118 *WURKAREA DEFINITION — 0118 

)120 AREA DSECT 0120 

0122 CCW1 OS 5D 0122 

0124 CCW2 DS 3D 0124 

lltb ECB DS F 0126 

012e 103 DS 8F 0128 

)130 MB8 DS C'MRM ol30 

0132 CCHHR DS C'CCHMX* 013? 

0134 BUFFI DS 136H 0134 

0116 BUFF2 DS 136H 0136 

0138 BUFF3 DS 1 36H 0138 

0140 TEMPSAVfc DS 12F 0140 

0142 PARAM DS F 0142 

0144 NEWNAME DS 37H 0144 

0146 FUNCT DS H 01464/29 

J14R AREAtND DS 00 0148 

0150 * 0150 

> 0152 *KEGISTER EQUATES — 015? 

00 0154 W0RK1 EQU 1 0154 

^ 0156 W0RK2 EQU 2 0156 

0158 COUNT EQU 3 0158 

0160 EXIT EQU 3 0160 

0162 POINT EQU 4 0162 

0164 LENGTH EQU 5 0164 

J16(> LAST EQU 6 0166 

0168 NEXT EQU 7 0168 

0170 OUT EQU 8 0170 

J172 STOWED EQU 9 0172 

0174 DCB EQU 10 0174 

0176 ENTRY EQU 11 0176 

0178 RGBASE EQU 12 0178 

0180 RGAREA EQU 13 0180 

0182 RGRET EQU 14 0182 

0184 RGERCD EQU 15 0184 

U86 * 0186 

0188 *THE FOLLOWING EQUATES ARE FOR REGISTERS *ITH WELL 'DEFINED ABSOLUTE 0188 

OlS/U *USAGE, AND FOR TEMPORARY WORK REGISTERS — 0190 

0192 RO EQU 0192 

0194 Rl EQU 1 0194 

0196 R2 EQU 2 0196 

0198 R3 EQU 3 0198 

J200 R4 EQU 4 0200 

020? R5 EQU 5 0202 

0204 R6 EQU 6 0204 

0206 R7 EQU 7 0206 

0208 R8 EQU 8 0208 



C6105 



ATPLISTPCH LISTING OF 



IGC0002A-S 



HJN 



05667 



> 

00 

I 

CO 



0210 
0212 
0214 
0216 
0218 
0220 
0222 
0224 
0226 
0228 
0230 
02 32 
0234 
02 36 
02 38 
0240 
0242 
0244 
0246 
0248 
0250 
0252 
0254 
0256 
0258 
0260 
0262 
0264 
0266 
0268 
02 70 
0272 
0274 
0276 
02 78 
0280 
0282 
0284 
0286 
0288 
0290 
0292 
0294 
0296 
0298 
0300 
0302 
0304 
0306" 
0308 
0310 
0312 



EQU 


9 


EQU 


10 


EQU 


11 


EQU 


12 


EQU 


13 


EQU 


14 


EQU 


15 



R9 

RIO 

Ril 

R12 

R13 

R14 

R15 

♦ 

♦OTHER EQUATES — 

DEBDISP EQU 36 

* 

*DCB DEFINITION — 

0C8D OSORG={PO,PS) ,DEVD=DA 
♦COMMUNICATION VECTOR TABLE DEFINITION— 
CVT DSECT 

CVT SYS=MIN 

IGC021 CSECT 

BALR RGBASf,0 

USING *,RGrtASE 

SSM HIBINARY 

LA W0RK2,4 

LTR ENTRY, RO 

BP AROPT 

LCR ENTRY, ENTRY 

LA WORK2,12 

AROPT LTR OCB,Rl 

BP GETMAIN 

LCR OCB,DCB 

LA WORK2,^(WORK2) 

♦GET WORKAREA FOR STOW AND BSAM/QSAM E 

GETMAIN LA RO, AREAEND-AREA 

GETMAIN R,LV=(0) 

LR RGAREA,R1 

USING AREA,KGAREA 

STH W0RK2,FUNCT 

CLI FUNCT+1,8 

BH RELOC 

TM IKENTRY) ,X«80 t 

BO RELOC 
♦♦♦THE FOLLOWING CODE INTERFACES WITH 
♦♦♦ ORDER TO WRITE AN EOD MARK 

USING IHADCB.DCB 

MVC 8(3, ENTRY) ,DCBRELAD 

L R3,DCBI0BA 

LA R9,4(R3) 

ST R9,12(R3) 

01 DCBCIND1,X»10* 

01 OCBOFLGS.X^O* 

SR R2,R2 

IC R2,DCB0FFSW 

LR R7,R2 



er^BLF INTERRUPTS 
FUNCTION CODE, A=4 
PICKUP ADOR OF NAME ENTRY 
0. A OR R OPTION 

FUNCTION COOE, D=12 
PICKUP DCB ADDR 
0. A OR D OPTION 

FUNCTION CODE, R=8, C=i6 
OB ROUTINE 



SAVE FUNCTION CODE 

Q. D OR C OPTION, DON'T WR EOD 

ALIAS BIT 
Q. ALIAS BIT ON, DON'T WR EOD 
THE BSAM/QSAM EOB ROUTINE IN 



GET TTR FROM DCB 
GFT AN IOB 
DtVFLOP ECB ADDRESS 

SET WRITE FLAG 
SET LAST WR BIT 



OFFSW FOR EOB ROUTINE 



0210 

0212 

0214 

0216 

0218 

0220 

0222 

0224 

0226 

0228 

0230 

0232 

0234 

0236 

0238 

0240 

0242 

0244 

0246 

0248 

02504/29 

0252 

0254 

0256 

0258 

0260 

0262 

0264 

0266 

0268 

0270 

0272 

0274 

0276 

0278 

0280 

0282 

0284 

0286 

0288 

0290 

0292 

0294 

0296 

0298 

0300 

0302 

0304 

0306 

0308 

0310 

0312 



C6105 



ATPLISTPCH LISTING OF 



IGC0002A-S 



HJN - 05667 



> 

00 



0314 
316 
03 L 8 
0320 
322 
0324 
326 
0328 
0330 
)332 
334 
0336 
03 38 
J340 
J 342 
0344 
0346 
0348 
0350 
0352 
0*54 
0356 
0358 
360 
0362 
0364 
0366 
368 
3 70 
0372 
3 74 
03 76 
0378 
03 80 
0382 
384 
0386 
0388 
0390 
0392 
0394 
0396 
0398 
0400 
0402 
0404 
0406 
0408 
0410 
0412 
0414 
0416 



AR 

SH 

NI 

SR 

IC 

STH 

L 

TM 

BZ 

L 

NOT0SAM LR 
STM 
BALR 
LM 

♦WAIT FOR COM 
WAIT 
AR 

♦RESTORE BSAM 
SH 
01 
TM 
BZ 

♦RELOCATE CHA 

RELOC LM 
AR 
AR 
AR 
AR 
AR 
STM 
LM 
AR 
STM 

♦BUILD AND MO 
SR 
LA 
LA 
LR 
SR 
STM 
MVI 
STC 
L 

MVC 
MVI 
EXCP 
BAL 
LA 
LA 
LA 
AH 
LA 



R2,R3 

R2 T N8 

4(R2) ,X« 7F' 

R4.R4 

R4,DC8KEYLE 

R4, 14(R2) 

R15,DCBEOBW 

DCBCINI^tX'Ol* 

NOTOSAM 

R15,DCBE0B 

R2tDCii 

R9,R12,TEMPSAVF 

R14 t R15 

R9, P. I 2, TEMPSAVt 
PLETION OF EOO WRITF — 

l f ECB=(R9) 

R7,k ( i 
/OSAM CHAN PROG AN 

R7, N4 

0(R7) ,X'80« 

0IR9),X , 20« 

IUEKR 
NNEL PKOGRAM TO SE 

R0,R9,SFARCH 

RO,RGARFA 

R2 t KGAREA 

R4, ENTRY 

R6,RGAREA 

R8,RGAREA 

R0,R9,CCW1 

ROtRl ,SCCW6 

RO,RGAREA 

R0,Rl,CCW2 
VE ECB AND I OP — 

RO,R() 

R2, ECB 

R5,CCW1 

R6, OCP 

R8,R^ 

R0,R8, tCB 

I OB,? 

RO,MB^ 

Rl, DC HOE BAD 

MBB+l(6),DEBDISP(Rl) 

CCHHK+4,1 

IOB 

W0RK2, CHECK 

COUNT, BUFF3+18 

POINT, 3UFF1+18 

LAST,HUFF1+16 

LAST, r \UFFl + 16 

NEXT,BUFF2 



POINT 2 TO CCW 

BACKUP 8 

TURN OFF DATA CHAIN BIT 



FURCE DATA LENGTH=0 
GET EOB ROUTINE ENTRY 
TEST FOR QSAM 

Q. NOT OSAM 
QSAM EOB ADDR 
DCP ADDR FOP FOB RTN 

WRITE l-OD 
RESTORE VOLATILE REGS 



7 POINTS TO CCW+4 

D CHECK FOR I/O ERROR — 

GO TO PREVIOUS CCW 

TORN DATA CHAIN BIT BACK ON 

CHTCK IOS COMPLETION CODE 

Q. PERM I/O ERR ON EOD WRITE 

ARCH DIRECTORY FUR NAME — 
SFARCH CHAN PROG 



?NU HALF OF CHAN PROG 



ZfcRO FCP AND 
HUILD IOB 



•M« 



nCB ADDRFSS 
ZERO BLK INCR FLO 
STORE ECB'ANO IOB 
SET NON-RFLATEO FLAG 

LOAD e M' 

LOAD 'BBCCHH* 
LOAD «R» 
SEARCH DIRECTORY 
WAIT AND CHECK 



0314 

0316 

0318 

0320 

0322 

0324 

0326 

0328 

0330 

0332 

3 34 

0336 

0338 

0340 

0342 

0344 

0346 

0348 

0350 

0352 

0354 

0356 

358 

036 

36 2 

0364 

0366 

0368 

0370 

0372 

0374 

0376 

0378 

0380 

0382 

0384 

0386 

0388 

0390 

0392 

0394 

0396 

0398 

0400 

0402 

0404/2 

0406 

0408 

0410 

0412 

0414 

0416 



C6105 



ATPLISTPCH LISTING OF 



IGC0002A-S 



HJN - 05667 



> 
00 

I 

On 



0418 


LA 


0420 


LA 


0422 ST1EI CLC 


0424 


LH 


0426 


BE 


042 8 


BH 


J430 ST1GI LR 


0432 


BAL 


0434 


LA 


04 36 


SR 


0438 


CR 


0440 


BC 


0442 


BAL 


0444 


EXCP 


0446 


LA 


0448 ST1J1 LR 


0450 


BCTR 


04 b 2 


EX 


04 54 


AR 


0456 


AR 


0458 TSTLST CLR 


0460 


BCR 


0462 


SR 


)4t>4 


CLC 


0466 


BNE 


0468 


LR 


04 70 


BAL 


0472 


NI 


0474 


XC 


0476 


TM 


0478 


BC 


0480 


L 


0482 


MVC 


0484 NOTEOD EXCP 


0486 


BAL 


048 8 


CLI 


0490 


BC 


0492 


SR 


0494 


IC 


0496 RETURN LA 


0498 


FREEMA 


0500 


LR 


0502 


SVC 


0504 * 




0506 STIC3 BAL 


0508 


LA 


0510 


LA 


0512 


AH 


0514 


LA 


0516 


CLR 


0518 


LA 


0520 


BCR 



0UT,8UFF3 

STOWED, ST1E1 

0(8, POINT), O(ENTRY) 

WORKl ,FUNCT 

BRANCH1-4(W0RK1) 

BRANCH2-4IW0RK1) 

WORKl, LENGTH 

RGRET,LNTHCALC 

W0RK2.27K0UT) 

W0RK2, COUNT 

WORK?, LENGTH 

10,ST1JL 

RGRFT .ROTATE 

IOB 

COUNT, 18(0UT) 

WORK?, LENGTH 

W0RK2,0 

WORK?, MOVE 1 

POINT, LFNGTH 

COUNT, LENGTH 

POINT, LAST 

4, STOWED 

POINT, LFNGTH 

HIBIMAKY,0(POINT ) 

STIC3 

WORKl, LENGTH 

RGRET, ROTATE 

CCW1*44,X , BF« 

DCBDIRCT(2),DCBDIRCT 

I0B+12,X»01» 

8,N0TF00 

NEXT,CCW2+16 

0CBDIRCT(2),16(NEXT) 

IOB 

WORK?, CHECK 

FUNCT+1,0 

8.CHGNAM3 

R2,R2 

R2,FUNCT 

RO,ARFAEND-AREA 

IN R,LV=(0),A=<RGAREA) 

R15, K2 

EXIT 

W0RK2, CHECK 
POINT, 18(NEXT) 
LAST,16(NFXT) 
LAST,16(NFXT) 
WORK2,8UFF3 
W0RK2,NEXT 
NEXT,272(NEXT) 
2, STOWED 



GET FUNCTION CODE 

0. IS NAME IN BLOCK 

Q. IS HIGHER NAME IN BLOCK 

CALCULATE ENTRY LENGTH 



IS THERE ROOM IN BLOCK 
YES, DONT WRITE RECORD 



POINT TO OUTPUT AREA 



UPriATF POINT AND COUNT. 

TO INDICATE NEXT VALUES 
0. LAST INPUT ITEM 
NO. TEST NEXT ITEM 

YES, TEST FOR LAST INPUT RFC 
Q. NOT LAST INPUT RECORD 



TURN OFF COMMAND CHAIN BIT 
7E"U1 DIRECTORY CNT 



UPDATF DIRECTORY CNT 

WPITF LAST RECORD 

WAIT AND CHECK FOR I/O ERROR 

TEST FUR CHANGE NAME OPTION 



GET ERROR CODE 
FRFEMAIN NO. OF BYTES 

SET tRROR CODE 
RETURN 

WAIT ANO CHECK FOR I/O ERROR 
SET UP NFXT INPUT BUFFER 

SET UP NEW FND 



C. OK TO GO NEXT BUFFER 



0418 
0420 
0422 
04244/29 

04264/29 

04284/29 

0430 

0432 

0434 

0436 

0438 

0440/2 

0442 

0444/2 

0446/2 

0448/2 

0450 

0452 

0454 

0456 

045 8 
0460 
0462 
0464 
0466 

046 8 
0470 
0472 
0474 
0476 
0478 
0480 
048 2 
0484/2 
0486 

04884/29 
0490 
0492 
0494 

04964/29 
0498 

05004/29 
05024/29 
05044/29 
0506 
0508 
0510 
0512 
0514 
0516 
0518/2 
0520 



C6105 



> 

ro 

oo 





ATPLISTPC 


H LIST 


ING Of IGC0002A-S 


HJN - 05667 




0522 




LA 


NEXT, BUFFI 


RESET TO FIRST BUFFER 


0522/2 


0524 




BR 


STOWED 




0524/2 


0526 


♦ 








05264/29 


0528 


NOSPACE 


LA 


R2 t 12 


SET ERROR CODE 12 


05284/29 


0530 




B 


RETURN 




05304/29 


0532 


DELERR 


LA 


R2.8 


SET ERROR CODE 8 


05324/29 


0534 




B 


RETURN 




05344/29 


0536 


* 








0536 


0538 


* 








0538 


0540 


CHGNAM1 


BAL 


RGRET,LNTHCALC 




0540 


0542 




SH 


LENGTH, N9 




054? 


0544 




EX 


LENGTH, M0VE2 




0544 


0546 




MVC 


NEWNAME(8),8(ENTRY) 




0546 


0548 




MVI 


FUNCT+1,20 




054 84/29 


0550 




ST 


ENTRY, PARAM 


SAVE INPUT PARAMETER 


0550 


0552 




LA 


ENTRY, NEWNAME 




0552 


0554 




B 


RELOC 




0554 


0556 


CHGNAM3 


L 


ENTRY, PARAM 




0556 


0558 




MVI 


FUNCT+1,12 




05584/29 


0560 




B 


RELOC 


PERFORM SEARCH 


0560 


0562 


DELETE 


EQU 


♦ 




0562/2 


0564 


REPLACE 


LR 


W0RK1, LENGTH 




0564 


0566 




BAL 


RGRET,LNTHCALC 




0566 


0568 




AR 


POINT, LENGTH 


DELETE OLD ENTRY 


0568 


0570 




LR 


LENGTH, WORK1 




0570 


0572 




CLI 


FUNCT+1,12 


CHECK FUNCTION 


0572 


0574 




BE 


SHIFT 


0. DELETE OPTION 


0574/2 


0576 


A00 


TM 


lHENTRYi.X'SO' 


Q. IS ENTRY AN ALIAS 


0576 


0578 




BO 


BYPASS 


YES. DONT FOOL WITH TTR 


0578 


0580 




01 


DCBCIN02,X»80« 


SFT STOW BIT 


0580 


0582 




STM 


R3tRl4,TEMPSAVE 




0582 


0584 




LR 


R3,RG4REA 




0584 


0586 




L 


RltOCBOEBAO 




0586 


0588 




LA 


R2,DCBF0AD 


INPUT TO CONVERT ROUTINE 


0588 


0590 




L 


R15,CVTPTR 


CVT ADDR 


0590 


0592 




USING 


CVT,R15 




0592 


0594 




L 


R15,CVTPRLTV 


CONVERT RTN ADDR 


0594 


0596 




BALR 


R14,R15 


CONVERT TTR TO MBBCCHHR 


0596 


0598 




LM 


R3,R14,TEMPSAVE-AREA(R3! 


\ RESTORE REGS 


0598 


0600 




AH 


R0,N256 


INCREMENT R BY I 


0600 


0602 




ST 


R0,DCBRELAD 


SAVE IN DCB FOR NEXT STOW 


0602 


0604 


BYPASS 


CLI 


DCBDIRCT+1,181 


ANY ROOM IN DIRECTORY' 


0604/2 


0606 




BC 


2, NOSPACE 


NO, BRANCH TO ERROR ROUTINE 


0606/2 


0608 




LR 


WORKl, LENGTH 


YES. CONTINUE 


0608/2 


0610 




LR 


STOWED, POINT 


SAVE POINT ADDRESS IN STOWED 


0610/2 


0612 




LR 


POINT, ENTRY 




0612/2 


0614 




BAL 


RGRETjLNTHCALC 




0614 


0616 




LA 


WMK2j27lC0U.fi 




0616/2 


0618 




SR 


W0RK2, COUNT 




0618/2 


0620 




SR 


W0RK2 .LENGTH 




0620/2 


0622 




BC 


10. PUT 


0. DONT WRITE BLOCK 


0622 


0624 




BAL 


RGRET, ROTATE 




0624 



£6105 



> 

C» 
I 
VI 





ATPLISTPC 


H LIST 


ING OF IGC0002A-S 


HJN - 05667 




0626 




EXCP 


IOB 




0626/2 


0628 




LA 


COUNT, 18 (OUT) 




0628/2 


0630 


PUT 


LR 


W0RK2, LENGTH 




0630/2 


0632 




8CTR 


WORK2,0 




0632/2 


0634 




EX 


W0RK2,M0VE1 


YFS, STORE ENTRY 


0634/2 


0636 




AR 


COUNT, LENGTH 




0636/2 


0638 




LR 


POINT, STOWED 




0638/2 


0640 


SHIFT 


LA 


STOWED, ST1G1 


SHIFT REST OF DIRECTORY 


0640/2 


0642 




B 


TSTLST 




0642 


0644 


BRANCH1 


B 


ADDERR 


BRANCH TO THE 


0644 


0646 




B 


REPLACE 




0646 


0648 




B 


DELETE 


PROPFR ROUTINE 


0648 


0650 




B 


CHGNAM1 




0650 


0652 


ADDERR 


LA 


R2,4 


SFT ERROR COOE 4 


0652/2 


0654 




8 


RETURN 




0654/2 


0656 


RPLCADD 


MVI 


FUNCT,* 


INDICATE ERROR 8 


0656 


0658 


BRANCH2 


R 


ADD 




065 8 


0660 




B 


RPLCADD 




0660 


0662 




B 


DELFRR 




0662 


0664 




B 


DELERK 


IN FUNCT REGISTER 


0664 


0666 




MVI 


FUNCT+1,0 


SET UP TO ADD NEW NAME 


0666/2 


0668 




B 


BYPASS 




0668/2 


0670 


ROTATfc 


LA 


W0RK?,16(0UT) 


CALCULATE ACTIVF BYTES 


0670 


0672 




SR 


WORK?, COUNT 




0672 


0674 




LCR 


WORK2,WORK2 




0674 


06 76 




STH 


W0RK2,16(0UT) 


STORE COUNT IN OUTPUT RECORD 


0676 


0678 




SR 


COUNT, W0RK1 


SUB LNTH OF LAST ENTRY 


0678 


0680 




MVC 


8(8,OUT),0(C0UNT) 


STORE KEY 


0680 


0682 




LA 


WGRKi,BUFF3 




0682 


0684 




CLR 


W0RK1,QUT 




0684 


0686 




LR 


WGRK1,0UT 




0686 


0688 




LA 


0UT,27?(0UT) 




06884/29 


0690 




BNE 


GO 


0. USE NEXT BUFFER 


-0690 


0692 




LA 


OUT, BUFF 1 




0692/? 


0694 


GO 


STM 


ro,rii,te"mpsave 




0694 


0696 




LR 


R11,0UT 




0696 


0698 




LA 


R10,«(W0RK1) 




0698 


0700 




BAL 


W0RK2, CHECK 


WAIT AND CHECK FOR I/O ERROR 


0700 


0702 




MVC 


CCHHR,0(R11) 


SFT SEEK AODR 


0702 


0704 




LM 


R0*R9,WRANDRD 


RFLOCATE CHAN PROG 


0704 


0706 




ALR 


R0,R11 


SEARCH EQUAL ID 


0706 


0708 




ALR 


R6,Rll 


SEARCH EQUAL ID 


0708 


0710 




AR 


R2,RGAREA 


T IC. 


0710 


0712 




AR 


R8,RGAREA 


TIC 


0712 


0714 




ALR 


R4,R10 


WRITE KEY AND DATA 


0714 


0716 




STM 


R0,R9,CCW1 




0716 


0718 




LM 


R0 t R5,WRCCW6 




0718 


0720 




SH 


R10,N8 




0720 


0722 




ALR 


R4,R10 


READ CKD 


0722 


0724 




STM 


R0,R5,CCW2 




0724 


0726 




LM 


R0,R11,TEMPSAVF 


RESTORE MAINLINE REGISTERS 


0726 


0728 




BR 


RGRET 




0728 



C6105 



ATPLISTPCH LISTING OF 



IGC0002A-S 



HJN - 05667 



> 

to 

00 
00 



0730 
0732 
0734 
0736 
0738 
0740 
0742 
0744 
0746 
0748 
0750 
0752 
0754 
0756 
0758 
0760 
0762 
0764 
0766 
0768 
0770 
0772 
0774 
0776 
0778 
0780 
0782 
0784 
0786 
0788 
0790 
0792 
0794 
0796 
0798 
0800 
0802 
0804 
0806 
0808 
0810 
0812 
0814 
0816 
0818 
0820 
0822 
0824 
0826 
0828 
0830 
0832 



LNTHCALC 



CHECK 



IOERR 

M0VE1 

MOVE 2 

HIBINARY 

N8 

N9 

MASK 

SEARCH 

SCCW1 



SCCW2 



SCCW3 



SCCW4 

ZERO 
SCCW5 



N256 
SCCW6 



WRANORD 
MRCCW1 



WRCCW2 



LH LENGTH, 10IPOINT) 

N LENGTH, MASK 

LA LENGTH, 12ILENGTH, LENGTH) 

BR RGRET 

WAIT l,ECB=ECB ' 

TM ECB,X»20» 

BCR 1,W0RK2 

TM I0B+12,X f 01» 

BCR 1,W0RK2 

LA R2,X , 10' 

B RETURN 

MVC Oil, COUNT) ,0(POINT) 

MVC NEWNAME*8<1>,8(P0INT) 

DC X»FFFFFFFFFFFFFFFF« 

DC H«8« 

DC H»9» 

OS OF 

DC X»0000001F' 

DS OF 

DC X»16« 

OC AL3(0+BUFF1-AREA) 

DC X«6000» 

DC H»l6' 

DC X f 92* 

DC AL310+BUFF1-ARFA) 

DC X«4000' 

DC H*8» 

DC X , E9' 

DC AL3I0) 

DC X^OOO* 

DC H«8» 

oc x»08' 

OC AL3I0+SCCW2-SEARCH) 

OC F • • 

OC X , 86« 

DC AL3U6+BUFF1-AREA) ' 

DC X , 4000« 

DC H'256' 

DC X»9E». 

OC AL3I0+BUFF2-AREA) 

DC F«272« 

OS OF 

DC X»31' 

DC AL3I0) 

OC X»4000» 

DC H»5» 

DC X^OS* 

OC AL3I0) 

DC F'O* 



CHECK FOR I/O ERROR 
Q. NO ERROR 

q. EOO INSTEAD OF ERROR 
SET ERROR CODE 



CM PROG TO SEARCH DIRECTORY 

READ RO 



HEAD COUNT 

SEARCH HI/EQUAL KEY 

TIC TO SCCW2 
READ DATA 

READ COUNT, KEY AND DATA 



CH PROG TO WRITE ANO REAO A 
SEARCH EQUAL 10 (NOT M/T) 
BUFFI 



TIC TO WRCCW1 



0730 
0732 
0734 
0736 

073 84/29 
0740 
0742 
0744 
0746 
0748 
0750 
0752 
0754 
0756 
0758 
0760 
0762 
0764 
0766 
0768 
0770 
0772 
0774 
0776 
0778 
0780 
0782 
0784 
0786 
0788 
0790 
0792 
0794 
0796 
0798 
0800 
0802 
0804 
0806 
0808 
0810 
0812 
0814 
0816 
BLK 0818 
0820 
0822 
0824 
0826 
0828 
0830 
0832 



R2Q-4Q67-0 



5' 

I 

5* 

c 

CO 

> 



mm 



TO 

ro 
o 



I 
o 



International Business Machines Corporation 
Data Procasiing Division 
113 Bail Poat Rood, White Plains, N.V. 10601 
{USA Only] 



IBM World trade Corporation 

821 United Notions Plaza, New York, New York 10017 

[International]